On Thu, 5 Apr 2018, Martok wrote:

Am 05.04.2018 um 08:35 schrieb Michael Van Canneyt:
If the compiler devs wanted, they could initialize every string with the
'<undefined string>' constant,
That is in fact the -gt option.

I doubt -gt does something for managed types?


Pascal states: do not assume that variables are initialized.
Corollary: there is no guarantee that "class operator Initialize()" is ever
called, and Maciej can roll back management operators. I very much doubt this is
what you want to imply.

And why not ?

This is the whole problem and source of the "kludge' I referred to:

When introducing managed types, Delphi should have performed the full monty, and simply zero-out everything at any point.

This would eliminate in large part the need for management operators, since
you can then detect whether a type is initialized or not if so desired, and
act on it.

TMyManagedType = Record
  IsInitialized : Boolean;
  // The rest of what you actually need
end;


Michael.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to