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 Ein MDI-Child aus einem anderen MDI-Child heraus schließen? (https://www.delphipraxis.net/97661-ein-mdi-child-aus-einem-anderen-mdi-child-heraus-schliessen.html)

NetSonic 14. Aug 2007 08:50


Ein MDI-Child aus einem anderen MDI-Child heraus schließen?
 
Guten Morgen!

Folgendes Problem und ich habe zur Zeit keine Idee, wie ich es realisieren könnte.
Meine Anwendung besteht aus einem MDI-Form und mehreren MDI-Childs. Ich habe nun das MDI-Child mit dem .Name := frmLageplan geöffnet und möchte dieses jetzt von dem MDI-Child mit dem .Name := frmDatenbestand aus schließen. Im OnClose von frmLageplan befindet sich die Anweisung

Delphi-Quellcode:
Action := caFree;
aber wie rufe ich dieses OnClose jetzt auf?

Die MDI-Childs erstelle ich so:

Delphi-Quellcode:
TfrmLageplan.Create(Application);
Close;

Cappuccino 14. Aug 2007 08:56

Re: Ein MDI-Child aus einem anderen MDI-Child heraus schließ
 
Ich würde das Hauptfenster bemühen und dort die Liste der Mdi-Children nach dem Formularnamen durchsuchen

etwa..
for I := MDIChildCount-1 downto 0 do
MDIChildren[I].Name
oder MDIChildren[I].Caption
um den Fensternamen zu finden

Gruß
Tom

NetSonic 14. Aug 2007 09:05

Re: Ein MDI-Child aus einem anderen MDI-Child heraus schließ
 
Danke für den Lösungsansatz. Habe mir jetzt eine Procedure gebastelt, die mir die Arbeit abnimmt.

Delphi-Quellcode:
procedure TfrmMain.CloseMDIChild(strChildName: String);
var
  i: Integer;
begin
     for i := 0 to frmMain.MDIChildCount - 1 do
     begin
          if (frmMain.MDIChildren[i].Name = strChildName) then
          begin
               frmMain.MDIChildren[i].Close;
               break;
          end;
     end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 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