[fpc-devel] TComponent.Name can not be set to ''

Marc Weustink marc.weustink at cuperus.nl
Wed Jun 20 12:09:42 CEST 2007

Michael Van Canneyt wrote:
> 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.

then back to Michas question: why must ?


More information about the fpc-devel mailing list