AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Ist Fenster schon geschlossen?! (speziell: MDI-Fenster)
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von s.h.a.r.k · begonnen am 7. Jan 2008 · letzter Beitrag vom 7. Jan 2008
 
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, 18: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
 


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 21:48 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