[fpc-devel] Reading empty collection from stream

Vincent Snijders vsnijders at quicknet.nl
Sun Aug 27 21:48:35 CEST 2006


Hi,

I am investigating Lazarus issue 7305. The TSynEdit class has a 
KeyStrokes property of the type TSynEditKeyStrokes, which is a 
TCollection descendant. The TSynEdit constructor fills the collection 
with some default items. If I remove the items and stream the TSynEdit, 
the following line is shown in the lfm:
     Keystrokes = <>

If I read this lfm, I don't get a empty KeyStrokes collection, but one 
filled with the default value.

I suspect the following lines in TReader.ReadCollection cause this 
behaviour:
     if not EndOfList then
       Collection.Clear;

Is this a bug or by design? How do I load an empty collection from a 
stream, if the collection has a default value?

Note, if I remove the 'Keystrokes = <>' line from the lfm, I will get 
the default collection too, so I wonder why there are two ways to get 
the default collection.

Vincent



More information about the fpc-devel mailing list