On Mon, 31 Mar 2008, Martin Schreiber wrote:
> On Sunday 30 March 2008 20.48:23 Michael Van Canneyt wrote: > > On Sun, 30 Mar 2008, Martin Schreiber wrote: > > > Inline is used for subforms, components in a form which inherit from > > > another form (TFrame in Delphi), in MSEgui every form can be used as > > > inline component. The ffInline filer flag must be written and the > > > ancestor must be looked up on writing and reading like inherited > > > components. > > > > OK, So: > > > > Form1 = TForm1 > > Frame1 = TMyFrame [inline comes here somewhere] > > end > > end > > > > When Frame1 is streamed, where do I find TMyFrame ? It's Ancestor is not > > being streamed ? > > > It is like streaming of an inherited form. Lookup the ancestor and write the > property differences. Nono, when streaming an inherited form, the IDE provides the ancestor instance when the streaming starts, because it calls writedescendent. When you have a frame inside a form IDE, the IDE cannot provide the ancestor of the frame: the streaming code must look for the original instance of the frame by itself. My guess is that this is done by setting the OnFindAncestor callback ? Michael. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel