[fpc-devel] TComponent.Name can not be set to ''
Michael Van Canneyt
michael at freepascal.org
Wed Jun 20 11:21:36 CEST 2007
On Wed, 20 Jun 2007, Marc Weustink wrote:
> Michael Van Canneyt wrote:
> >
> > On Wed, 20 Jun 2007, Micha Nelissen wrote:
> >
> > > Michael Van Canneyt wrote:
> > > > This is due to a Delphi compatibility fix. Component names must be valid
> > > > identifiers. Logical, since the name must match the field name in the
> > > > form,
> > > Why *must* it match a field name in the form ?
> >
> > Because the streaming depends on it.
> >
> > The stream contains the component name. The streaming mechanism creates a
> > component, sets it's name and then matches this name with the list of
> > published fields of TForm, and then fills in the pointer.
>
> And what if a published field isn't found ?
Nothing. Since there is no pointer to fill in, nothing happens.
And this is right, because if you were to create everything run-time, and stream
that, there are no pointers to fill in when the stream is being read again.
Michael.
More information about the fpc-devel
mailing list