Вниз
Скачать: 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.019 c
14-1101493291
Fay
2004-11-26 21:21
2004.12.19
Нужен программер на пост. работу


4-1099935287
nof
2004-11-08 20:34
2004.12.19
Manual Memo


1-1101977867
гость
2004-12-02 11:57
2004.12.19
удаление файла из listview


3-1100690986
Dionnis
2004-11-17 14:29
2004.12.19
Индексы


14-1101885880
raymond
2004-12-01 10:24
2004.12.19
Адвминистрирование компьютерного класса (ищу программу)...




   Наверх