On 28.09.2014 21:00, Constantine Yannakopoulos wrote:
Hi Sven,
On Sat, Sep 27, 2014 at 7:33 PM, Sven Barth <pascaldra...@googlemail.com
<mailto:pascaldra...@googlemail.com>> wrote:
Huh? Delphi really prohibits such things inside the destructor?
Would you mind to share an example (possibly including error
messages), please?
Ah, ok. That was indeed not clear enough. ;)
Sorry, I wasn't clear enough.
With "prohibits" I didn't mean that you get a compiler error. It
compiles and runs just fine but you get a stack overflow at runtime
when the dest
ructor is called
.
I've done a different approach already: the decrease helper sets
refcount to -1 directly before it calls the destructor and both the
increase and the decrease helper check for -1. Considering that it's
currently only a proof of concept I can live with the performance
impact that comparison might have.
OK, but keep my proposal in mind since it has overhead only at
BeforeDestruction which is once per instance lifecycle.
I can't use BeforeDestruction per se, because the user can override it.
But it would be possible to insert the code at the same location where
BeforeDestruction gets called... I'm doing something similar for
NewInstance currently where I force the reference count to 1.
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel