Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Aktives MDIchild schließen (https://www.delphipraxis.net/40772-aktives-mdichild-schliessen.html)

ggfan 20. Feb 2005 19:06


Aktives MDIchild schließen
 
Hallo,
ich habe auf einem MDI-Child einen Button. Wenn auf diesen geklickt wird, sollen bestimmte Befehle ausgeführt werden und dann das Child geschloßen werden. Ich hab zu dem Thema hier nichts finden können.(Juhuu ich bin der erste mit dem Problem). Könnt ihr mir da weiterhelfen?

Die Muhkuh 20. Feb 2005 19:08

Re: Aktives MDIchild schließen
 
Hi,

Delphi-Quellcode:
ActiveMDIChild.Close
Im OnClose der Form:
Delphi-Quellcode:
  DoSomething;
  Action := caFree;

ggfan 20. Feb 2005 19:13

Re: Aktives MDIchild schließen
 
bei
Delphi-Quellcode:
ActiveMDIChild.Close;
kommt dann eine Zugriffsverletzung als Fehlermeldung.

JasonDX 20. Feb 2005 19:49

Re: Aktives MDIchild schließen
 
Es könnte sein, dass gerade kein MDI-Child aktiv ist (weil keins offen ist ect.)

vielleicht kann man das Problem so umgehen:

Delphi-Quellcode:
if ActiveMDIChild <> nil
  ActiveMDIChild.close;
Ansonsten könnte es vielleicht mit Source zusammenhängen, der im OnClose ausgeführt wird. Post diesen mal, falls du da was drinnen hast

ggfan 21. Feb 2005 18:43

Re: Aktives MDIchild schließen
 
Delphi-Quellcode:
procedure TfrmNewAppointment.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  useredit := false;
  groupcal.Visible := false;
  Action := caFree;
end;
Ein MDIchild ist auf jedenFall offen, weil, ja auf diesem der Button zum schließen sein soll.

Die Muhkuh 22. Feb 2005 10:11

Re: Aktives MDIchild schließen
 
Hi,

dann brauchst du in dem Schließen Button nur "Close;" zu schreiben.

Ich dachte du hast einen Button auf deiner MainForm der ein MDI-Child schließen soll :-)

shmia 22. Feb 2005 10:16

Re: Aktives MDIchild schließen
 
Zitat:

Zitat von ggfan
ich habe auf einem MDI-Child einen Button. Wenn auf diesen geklickt wird, sollen bestimmte Befehle ausgeführt werden und dann das Child geschloßen werden.

Delphi-Quellcode:
procedure TMDIForm.Button1Click(Sender:TObject);
begin
   // deine "bestimmte Befehle"
   ....
   self.Release; // = verzögertes Close+Free
end;

ggfan 22. Feb 2005 12:35

Re: Aktives MDIchild schließen
 
Das funktioniert perfekt, danke.


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