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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to