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 ?
Marc
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel