Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zur Laufzeit erzeugtes Form schließen (https://www.delphipraxis.net/65165-zur-laufzeit-erzeugtes-form-schliessen.html)

buyden 13. Mär 2006 09:06


Zur Laufzeit erzeugtes Form schließen
 
Hi,

ich habe ein Form zur Laufzeit erstellt und mit nem Frame bestückt. Jetzt brauch ich aber auch einen Schließen-Button. Ich hab das so versucht:
Delphi-Quellcode:
procedure Tframemessage.btcloseClick(Sender: TObject);
begin
  application.FindComponent(lbformname.Caption).Destroy;
end;
bekomm aber immer ne Zugriffsverletzung. Mit .Free geht's auch nicht, da schließt sich das Form nicht.
Mit dem Schließ-Kreuz geht's problemlos. Was macht das denn anders?

chaosben 13. Mär 2006 09:14

Re: Zur Laufzeit erzeugtes Form schließen
 
Versuchs mal mit
Delphi-Quellcode:
.Release;

buyden 13. Mär 2006 09:20

Re: Zur Laufzeit erzeugtes Form schließen
 
Kennt er nicht.

Undefinierter Bezeichner 'Release'

TBx 13. Mär 2006 10:10

Re: Zur Laufzeit erzeugtes Form schließen
 
Hallo buyden!

Ich gehe mal davon aus, daß Du Deinen Frame auf ein TForm legst.
Dann kannst Du folgendes tun:

Delphi-Quellcode:
procedure Tframemessage.btcloseClick(Sender: TObject);
begin
  TForm (parent).Close;
end;
Das Free des Forms und des Frames mußt Du dann noch separat lösen.

Gruß

onlinekater

Angel4585 13. Mär 2006 10:13

Re: Zur Laufzeit erzeugtes Form schließen
 
Versuch mal im OnClose der dynamischen Form
Delphi-Quellcode:
Action := caFree
zu setzen

und dann einfach ein Close;

buyden 13. Mär 2006 10:28

Re: Zur Laufzeit erzeugtes Form schließen
 
Funktioniert!!

Dankeschön.

Angel4585 13. Mär 2006 10:32

Re: Zur Laufzeit erzeugtes Form schließen
 
Was genau funktioniert? Das Close alleine oder nur mit dem Action = caFree?

buyden 13. Mär 2006 10:44

Re: Zur Laufzeit erzeugtes Form schließen
 
ich hab jetzt folgendes:

Delphi-Quellcode:
procedure Tframemessage.btcloseClick(Sender: TObject);
begin
  tform(parent).Close;
end;
und

Delphi-Quellcode:
procedure Tfrmgetmessage.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  action:= caFree;
end;
Schließt perfekt und ohne Fehler

chaosben 13. Mär 2006 10:46

Re: Zur Laufzeit erzeugtes Form schließen
 
Zitat:

Zitat von buyden
Kennt er nicht.

Undefinierter Bezeichner 'Release'

Ach sorry ... nicht richtig gelesen. :(


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