Вниз
Скачать: CL | DM;

Проблемы с TStream   Найти похожие ветки 

 
Grim   (2004-11-30 17:11) [0]

Доброго времени суток всем!

Есть такие процедуры.

type
 TActorInfo = record
   Model: Byte;
   Number: String[10];
   Course, Speed,
   X, Z: Single;
   Enabled: Boolean;
 end;

 TActorList = array of TActorInfo;

procedure Array2Stream(const A: TActorList; S: TStream);
procedure Stream2Array(var A: TActorList; S: TStream);

implementation

procedure Array2Stream(const A: TActorList; S: TStream);
var
 Size, Index: Integer;
begin
 // Write out the size of the array
 Size := Length(A);
 S.Write(Size, SizeOf(Size));

 for Index := 0 to Size - 1
 do S.Write(A[Index], SizeOf(TActorInfo));
end;

procedure Stream2Array(var A: TActorList; S: TStream);
var
 Size, Index: Integer;
begin
 S.Read(Size, SizeOf(Size));
 SetLength(A, Size);
 for Index := 0 to Size - 1
 do S.Read(A[Index], SizeOf(TActorInfo));
end;

Когда я Делаю Array2Stream(Arr, FileStream); //записываю массив в файл
А потом Stream2Array(..., то все все перекрасно работает.
А если я скидываю массив в MemoryStream, и посылаю через idUDPClient.SendBuffer(IP, Port, MemStream, MemStream.Size);
то на другом конце массив преобразуется обратно некорректно.
Я даже на том конце сохранять в FileStream. Полученный файл совпадает по размеру, но не по содержанию - с файлом, сохраненным "здесь".
В чем может быть дело? Заранее благодарен за советы.


 
Alex_Petr ©   (2004-11-30 19:04) [1]

Может надо использовать MemStream.Memory ?


 
Grim   (2004-12-01 17:01) [2]

Только что попробовал отсылать MemStream.Memory^. Заработало! Огромное спасибо за подсказку. Я этого свойства даже не приметил.


 
Grim   (2004-12-01 17:01) [3]

Только что попробовал отсылать MemStream.Memory^. Заработало! Огромное спасибо за подсказку. Я этого свойства даже не приметил.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1101957955
Змей
2004-12-02 06:25
2004.12.19
RxRichEdit


3-1100675829
Владимир С.
2004-11-17 10:17
2004.12.19
Ничего не понимаю с фильтром


1-1102190333
olookin
2004-12-04 22:58
2004.12.19
Тип в модуле, компоненте и библиотеке


1-1102319515
Игорь нтк
2004-12-06 10:51
2004.12.19
восстановление исходного текста


3-1100110366
ser_ega
2004-11-10 21:12
2004.12.19
Много строк в одной записи!




   Наверх