Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler beim Form.Close (https://www.delphipraxis.net/37683-fehler-beim-form-close.html)

pickel 8. Jan 2005 18:22


Fehler beim Form.Close
 
Hi,

ich habe eine MDIForm und ein MDIChild, welches ich zur Laufzeit so erstelle:

Code:
Application.CreateForm(TForm1, Form1);
Da ich aber kein MainMenu habe und somit das einzelne Child nicht schliessen kann wenn es maximiert ist, habe ich mir ein Image genommen, welches
Code:
Form1.Close;
onClick beinhaltet.

Es funktioniert auch wunderbar.
Wenn ich jedoch die Form 2 mal hintereinander öffne, und dann die forms schliessen will, schmiert er mir bei der 2. Form ab.
Dieses Problem tritt NICHT auf, wenn ich das X von dem SystemMenu verwende (wenns halt nicht maximiert ist).

Da aber alle Child maximiert sein sollen und ich kein MainMenu haben möchte, geht es für mich nur mit einem Button/Image.

Wie also muss ich die Form über das Image schliessen, dass er nicht beim 2. mal sich aufhängt?

Fehlermeldung: "Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000."

Beim OnClose steht bei mir ausserdem noch
Code:
Action:=caFree;
damit die Form auch wirklich geschlossen wird.


Danke...

Greetz Nils

Steve 10. Jan 2005 08:29

Re: Fehler beim Form.Close
 
Hi,

wird Form1 öfters erzeugt? Oder bekommt jedes Form einen eigenen Namen?
Evtl. hilft beim Schließen statt form1.Close ja MainForm.ActiveMDIChild.Close

Gruß
Stephan :dance:

bundy 10. Jan 2005 09:18

Re: Fehler beim Form.Close
 
Hy

probier mal das Childform so zu erstellen:
Delphi-Quellcode:
form:=Tform.Create(self);
form.Show;

in den Projekt Options enferne das Form (Autocreate Forms).

LoL 10. Jan 2005 10:00

Re: Fehler beim Form.Close
 
musst du nicht noch das form freigeben oder irr ich mich? :gruebel:

Steve 10. Jan 2005 10:20

Re: Fehler beim Form.Close
 
Zitat:

Zitat von LoL
musst du nicht noch das form freigeben oder irr ich mich? :gruebel:

Hi,

wenn im OnClose Action:=caFree gesetzt wird, wird's ('automatisch') freigegeben.

Gruß
Stephan :dance:

pickel 10. Jan 2005 17:56

Re: Fehler beim Form.Close
 
Zitat:

Zitat von Steve
wird Form1 öfters erzeugt? Oder bekommt jedes Form einen eigenen Namen?
Evtl. hilft beim Schließen statt form1.Close ja MainForm.ActiveMDIChild.Close

Ja Form wird öfters erzeugt.
Nein es gibt keinen eigenen Namen.

ActiveMDIChild.Close hat den Fehler behoben, danke.

Zitat:

Zitat von bundy
probier mal das Childform so zu erstellen:
Delphi-Quellcode:
form:=Tform.Create(self);
form.Show;

das führt leider gleich zu ner Zugriffsverletzung.


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