[fpc-devel] Object upgrades (new)

Sven Barth pascaldragon at googlemail.com
Sat Jun 15 18:50:43 CEST 2019


Am 15.06.2019 um 17:17 schrieb Ryan Joseph:
> { I think the old thread “Object upgrades” got broken during the server move so I’ll try to start a new thread and see if this gets posted }
>
> Another question. I’m not sure it’s possible but I did try to add management operators to objects and found that if a initialize operator was declared in a unit which was precompiled and then inherited from an object in another unit which declared another initialize operators, the initialize operator would be called twice.
>
> The issue is that the operator is compiled into some other code which always gets called when the object is used as a var type. Is there any work around to that? The options I’m aware of are:
>
> 1) don’t allow management operators in objects (that would be very unfortunate indeed).
> 2) don’t allow subclasses to redeclare a management operator (that seems ok since the operator can call a virtual method from the base class).
> 3) allow overriding of operators. I don’t think that would be make sense or perhaps even possible.
I don't see a need to add management operators to objects. Objects have 
constructors and destructors, so they don't need Initialize and Finalize 
operators and they have a defined assignment operation. Just leave the 
poor, old objects alone.

Regards,
Sven


More information about the fpc-devel mailing list