[fpc-devel] Important: Call for testing.
Michael Van Canneyt
michael at freepascal.org
Mon Mar 31 15:00:02 CEST 2008
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.
More information about the fpc-devel
mailing list