Hello Diettrich,

To tell the truth this code and style I got from previous developer
and I really don't know why he decided to get the size of header from
the binary instead of getting its size. The fact is, that this
"optimistic variant" of coding is on many places. :-|

TRoland;

<<< 24.4.2009 19:56 - Hans-Peter Diettrich "drdiettri...@aol.com" >>>
HPD> Roland Turcan schrieb:

>> BB> How is HeaderLen declared ?
>> 
>> Stream.Read (HeaderLen, SIZEOF (HeaderLen));
>> 
>> where information header's length is stored into binary.

HPD> The you should verify that HeaderLen <= SizeOf(FHeader), before
HPD>    Stream.Read (FHeader, HeaderLen);

HPD> Otherwise this statement will overwrite the following FItem data, with
HPD> the fatal consequences you already experienced.

HPD> When a header will ever change in size (or structure), it's wise to 
HPD> store a version number in the data files. Then you can read the stored
HPD> header data into the exactly applicable header type (record), and 
HPD> convert that record into the current THeader definition, field by field.

HPD> DoDi

HPD> _______________________________________________
HPD> Lazarus mailing list
HPD> Lazarus@lazarus.freepascal.org
HPD> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus




-- 
Best regards, TRoland
http://www.rotursoft.sk
http://exekutor.rotursoft.sk

_______________________________________________
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to