[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