[fpc-devel] 0010465: CsSubComponent component properties not streamed

Martin Schreiber fpmse at bluewin.ch
Sun Dec 23 18:56:32 CET 2007


Hi,

Michael Van Canneyt marked my bugreport 10465 with "won't fix", I would like 
to discuss the issue in a broader forum.
With fixes_2_2 rev. 9006 FPC does not stream published component properties 
where the component has CsSubComponent set if the property component is not 
owned by the streamed component.
Delphi streams CsSubComponent properties independent of ownership.
Caused by this change some properties of MSEgui components will be deleted if 
MSEide is compiled with fixes_2_2 >= rev 9006, the users will loose data.
Sometimes I use in MSEgui components as worker objects in other components 
which should behave as simple TPersistent descendants and not be integrated 
in the ownership system. I achieve the wanted behaviour by creating them with 
a NIL AOwner parameter.
An example is tsocketclientiochannel where I use a tifisocketclient component 
with CsSubComponent set in order to implement the socket functionality and to 
allow the user to do the socket settings by the object inspector of MSEide.
Michaels change now forbid this method although it is completely legal in 
Delphi.

Now I have several possibilities:

1. I can accept Michaels verdict and surrender to use my programming method 
and rewrite the affected MSEgui pieces and introduce an incompatibility with 
current MSEgui projects.

2. I can spend some hours or days and try to convince Michael that he should 
allow some more freedom how to use his components.

3. I can fork on classes.pp level. No problem for me but no fun for MSEgui 
users who want to combine MSEgui components with foreign components.

What shall I do?

Martin



More information about the fpc-devel mailing list