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

Подскажите в какую сторону копать?
Что я делаю не правильно?

и при работе с динамическими массивами
Если
Код:
      IntBuf: array of byte;
то читать и писать нужно так
Код:
   Streaml.ReadBuffer(IntBuf[0], i); //читаю поток в 
и
Код:
      Stream2.WriteBuffer(IntBuf[0], i);   //записываю в поток из массива

и не
Код:
   Showmessage (inttostr(SizeOf(IntBuf)));              //проверяю размер массива, выдает (4) ??? (а длинна 344!!!)
а
Код:
   Showmessage (inttostr(Length(IntBuf)));

И кроме того, вот этого
Код:
     FreeMem(IntBuf);  //освобождаю память
 end;
делать ни в коем случае нельзя.
используйте SetLength(,0) , если очень хочется, но при выходе из процедуры, в которой описан массив, он освободится автоматически.
Ответить с цитированием