Zitat von
hitzi:
Wird's aber nicht
Wieso wird das eigentlich so von Borland gelöst.
Wäre ein
nicht kürzer und schneller?
Ich kann mir nur vorstellen, dass es was mit sicherheit zu tuen hat.
Wenn bei deiner Variante im Destructor ne
Exception auftritt (sollte natürlich nicht passieren und weiss auch garnicht was dann passiert) wird die Variable nicht auf nil gesetzt.
Bei der Borland Variante wird die Variable vorher wirklich auf nil gesetzt und dann ist es egal, ob ne
Exception auftritt.
Warum bei dir nicht Destroy aufgerufen wird, hat teebee ja schon gesagt. Dadurch das Quasi bei FreeAndNil TObject.Free aufgerufen wird, wird auch nur TObject.Destroy aufgerufen. (Hängt mit der
VMT zusammen). Machst du aus dem reintroduce ein override, dann sollte es korrekt funktionieren.