Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi MDI-Child und StringGrid sofort füllen (https://www.delphipraxis.net/48324-mdi-child-und-stringgrid-sofort-fuellen.html)

Taladan 23. Jun 2005 16:07


MDI-Child und StringGrid sofort füllen
 
Hallo. Ich lade im MDI-Parent Objecte. Wenn ich ein MDI-Child öffne, wollte ich, das Daten direkt in ein StringGrid angezeigt werden. Doch diese Daten kann das MDI-Child aus irgendeinen Grunde im OnShow Ereignis noch nicht lesen. Wenn das Child angezeigt wird, kann ich die Routine ohne probleme starten. Was sollte ich da tun?

So öffne ich das Fenster:
Delphi-Quellcode:
    if NamenBox = nil then
    begin
     NamenBox := TNamenBox.Create(Application);
     NamenBox.show;
    end else NamenBox.BringToFront;

marabu 23. Jun 2005 17:00

Re: MDI-Child und StringGrid sofort füllen
 
Grundsätzlich kannst du natürlich im Ereignis OnShow() auf Daten des MDI-ParentForm zugreifen. Wenn du allerdings die Standardbehandlung für OnClose() aus dem Borland MDI template (closeAction = caFree) beibehalten hast, dann wurde nach dem Schließen des Fensters der Speicher frei gegeben, aber der Zeiger NamenBox ist nicht nil.

Freundliche Grüße vom marabu

Taladan 23. Jun 2005 17:18

Re: MDI-Child und StringGrid sofort füllen
 
Hm. Bringt mich nicht weiter, da es am aufruf des Fensters nicht liegt.
Die Daten sind bereits beim SplashScreen bekannt. Diese Daten sind in einer ObjectBox, wo ich von jeder Unit zu greifen kann. Nur dieses DOOOFE Kind will net im OnShow-Ereignis, hier sind die Daten scheinbar noch nil, auch wenn ich die Daten vorher noch mal auslese.
Es ist egal welcher Aufruf des Fensters es ist, der erste, fünfte oder x-te, es will einfach nicht.
Wenn ich die selben Methode OnPaint mache, dann funktioniert es. Jedoch beführchte ich, das das Ereignis viel zu häufig aus gelößt wird und bei zu vielen Datensätzen arg heftig wird...

Taladan 23. Jun 2005 17:25

Re: MDI-Child und StringGrid sofort füllen
 
Ich weiß nicht, was ich falsch gemacht habe und was ich nu richtig gemacht habe. Plötzlich funktioniert es...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz