Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#5

AW: Exception im Konstruktor lösen Destructor aus auch bei Interfaces

  Alt 8. Apr 2013, 14:12
Ja daran habe ich jetzt auch gedacht, dass ich die automatische Referenzzählung ausschalte und selber zähle. Nur das würde mir wahrscheinlich nicht viel helfen.

Wenn ich den Zähler selber um einen erhöhe, dann müsste ich ja Problem im normalen Ablauf haben, wenn es keine Exception gibt. Dann ist der Counter ja eine Zählung zu hoch, weswegen das GUI-Fenster nicht zerstört werden würde, oder?
Das BeforeDestruction wird automagisch vor dem Aufruf der vererbten Destroy-Kette aufgerufen. Mit meinem Vorschlag ersetzt du nicht generell die Referenzzählung, sondern schaltest sie nur während des Destroy aus. Wenn im Constructor keine Exception ausgelöst wird, wird auch kein Destroy aufgerufen und somit das BeforeDestruction auch nicht - alles läuft wie gehabt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat