Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Ist Fenster schon geschlossen?! (speziell: MDI-Fenster)

  Alt 7. Jan 2008, 19:12
Hallo,

ich hoffe mit kann jemand weiterhelfen: ich hab bisher keinerlei Event oder Funktion gefunden, die genau dann ausgeführt wird, wenn ein Fenster (in meinem Fall ein MDI-Child) geschlossen wurde. Ich habe es bisher den folgenden, eher unsauberen Weg gewählt:

Beim OnCloseQuery des MDIs eine Methode in der MDI-Parent aufgerufen, die selbst wiederrum die OnClose des MDIs aufruft. Ich war hierbei in der Hoffungen, dass wenn OnClose abgeschlossen ist das MDIChild aus dem Speicher entfernt wurde und somit eben nicht mehr vorhanden ist.

Allerdings tritt genau an dieser Stelle ein Problem auf, denn selbst nach dem OnClose des MDIChilds exisitert das Child in MDIChildCount noch. Warum tut es das? Zugreifen kann ich nicht mehr darauf, da ich dann einen Zugriffsfehler erhalte. Wo liegt dann mein Problem? Ich hoffe ihr könnt mir hierbei helfen.

BTW(1): Ich kann das Projekt leider nicht hochladen, da zu viel dran hängt. Ihr wollte ja nicht gleich einen Server installieren, um mein Problem anhand des Projekts nachzuvollziehen *lach*

BTW(2): Gibt es eine Möglichkeit einen eigenen Handler (Fenstermanager) zu schreiben, der die folgenden (hoffentlich ohne nähere Beschreibung erklärenden) Methoden implementiert und dies so ziemlich automatisch macht, ohne, dass ich all zu viel Code dafür schreiben muss, d.h. ich will auch nicht aus dem Hauptformular, sowie auch nicht aus den MDIChilds, die entsprechende Funktion aufrufen müssen:
OnBeforeMDICreate
OnAfterMDICreate
OnMDIActivate
OnBeforeMDIClose
OnAfterMDIClose

Ich hoffe ihr versteh so in etwa was ich hiermit will

Mit freundlichen Grüßen
der haiiii
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat