Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Prüfen ob ein Objekt freigegeben wurde (Assigned geht nicht)

  Alt 27. Jun 2017, 13:25
Wie kann ich also überprüfen, ob hinter der (nicht auf nil gestetzten) Variable noch ein intaktes Objekt hängt?
Kurz und schmerzlos: Gar nicht ohne ekelhafte Hacks.

Stattdessen könntest du aber deinen Ansatz verfeinern, indem du beim Zuweisen des Formulars das OnDestroy Event einer Methode deiner TAdvSmartMessageBox Instanz zuweist und dort für das "nil-en" der entsprechenden Variable sorgst. Das wäre jetzt nur der einfachste Ansatz (welcher Probleme machen könnte, wenn du das OnDestroy Event bereits für irgendetwas Anderes im Formular verwendest, etc.).

Alternativ könntest du auch allen betroffenen Forms ein Interface verpassen, über welches du dein Destroy-Event sauber registrieren könntest. Gibt viele Möglichkeiten ... wichtig ist, dass du über irgendeinen Callback mitbekommst, wenn das Formular zerstört wird.

Edit: Dein messageBoxToast solltest du dann ggfls. auch selbst verwalten (also AOwner = nil ).
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl (27. Jun 2017 um 13:28 Uhr)
  Mit Zitat antworten Zitat