Показать сообщение отдельно
  #3  
Старый 06.05.2015, 10:14
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Код:
type
  TMass = array of byte;
  PMass = ^TMass;
Это как раз тот случай, когда ТАК делать не надо. PMass - лишняя сущность.
Если хочется использовать именно указатели, то что-то подобное делается так:
Код:
type
  TMass = array[0 .. MaxInt -4] of byte;
  PMass = ^TMass;

И как раз вот так использовать
Код:
constructor TClientReadWriteData.Create;
begin
  inherited Create(true);
  bf_size:=32768;
 
  GetMem(bf, bf_size*sizeof(byte)); //  так
end;
И так
Код:
s:= string(pointer(bf))


А когда делаете так
Код:
s:= string(@bf);
,то пытаетесь превратить в строку указатель не на данные, а на переменную bf.
Ответить с цитированием