AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Prüfen ob ein Objekt freigegeben wurde (Assigned geht nicht)
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Getox · begonnen am 27. Jun 2017 · letzter Beitrag vom 27. Jun 2017
 
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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz