![]() |
[D7]MDI-Anwendung: Zuweisungen auf Public Var des MDIChilds
Hi,
ich habe eine MDI Anwenung, mit einem Hauptformular und einem MDIChild. So jetzt habe ich in der public Deklaration des MDIChild eine Variable deklariert. ( MDI_Parent : tfrmMDIForm). So wenn ich jetzt im Hauptprogramm ein MDIChild erstellt wird, wie folgt: MDIChild := tfrmMDIChild.Create(Self); MDIChild.MDI_Parent := Self; Und ich dann in dem MDIChild.OnActivate auf den Titel des Hauptformulars zugreifen will: ShowMessage(MDI_Parent.Caption) dann ist die Ausgabe leer. Erstelle ich z.b. einen Button der o.g. Code ausführt wird mir der Titel des Hauptformulars ausgegeben. Jetzt meine Frage wieso ist das so !? Ich nehme doch an wenn ich MDIChild := tfrmMDIChild.Create(Self) sage das dann das Formular erstellt wird und wenn ich MDIChild.MDI_Parent := Self. ausführe, gehe ich davon aus das die angabe auch sofort verfügbar ist, aber dem ist leider nicht so. Jemand eine Idee wie man das Verhalten ändern kann bzw. es mir einfach mal erklären, damit ich versteh wieso es so ist wie es ist. mfg TUX |
Re: [D7]MDI-Anwendung: Zuweisungen auf Public Var des MDIChi
Ich denke mal, OnActivate wird aufgerufen bevor tfrmMDIChild.Create(Self) zurückkehrt - und da ist die Eigenschaft noch nicht gesetzt. Kannst du nicht die Eigenschaft Parent direkt benutzen?
|
Re: [D7]MDI-Anwendung: Zuweisungen auf Public Var des MDIChi
Hi,
also dein Vorschlag mit der 'Parent' Eigenschaft des MDIChilds geht wohl auch, habs noch nicht getestet. Aber das Verhalten was mir aufgefallen war, betrifft auch irgendwelche Daten die ich übergeben will. So wie es aussieht sind die Information in den Variabeln erst da wenn folgende Ereignisse durchlaufen sind: 1. OnCreate 2. OnShow 3. OnActive 4. OnPaint D.h. in den Ereigenissen kann noch nicht auf die übergebenen Informationen zugegriffen werden. mfg TUX |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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