![]() |
Erstellte Form onClose zu weisen ???
Guten Abend,
ich versuche gerade, einer zur Laufzeit erstellten Form das onClose Event zu zuweisen. Es kommt aber immer ein Fehler mit dem ich nichts anfangen kann.
Delphi-Quellcode:
Fehler
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } procedure Button2Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Form: TForm; begin Form:=TForm.Create(Self); with Form do begin Left:=100; Top:=100; OnClose:=Button2Click; ShowModal; end; end; procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage('Die neue Form wird geschlossen.'); end; end. Zitat:
|
Re: Erstellte Form onClose zu weisen ???
Die Meldung sag es doch schon. Die OnClose-Methode muss andere Parameter als deine OnClick-Methode haben.
|
Re: Erstellte Form onClose zu weisen ???
Das war mir bewußt aber welche brauche ich?
|
Re: Erstellte Form onClose zu weisen ???
Schau dir doch einfach die Parameter im Prozedur-Kopf deiner Hauptform an, dann weißt du es.
|
Re: Erstellte Form onClose zu weisen ???
habe habe jetz mit "caFree" herumprobiert. Ich schaffe es nicht. Es wäre nett wenn mir einer mal ein Beispiel geben kann. Wäre nett.
Delphi-Quellcode:
Gruß, Sven
procedure TForm1.Button1Click(Sender: TObject);
var Form: TForm; begin Form:=TForm.Create(Self); with Form do begin Left:=100; Top:=100; OnClose:=CloseForm(caFree); ShowModal; end; end; procedure TForm1.CloseForm(Sender: TObject); begin ShowMessage('Die neue Form wird geschlossen.'); end; |
Re: Erstellte Form onClose zu weisen ???
Hallo Sven,
der Prototyp der Behandlungsroutine für das OnClose-Ereignis wird von Borland fest vorgegeben, den kannst du nicht ändern:
Delphi-Quellcode:
Deine Methode CloseForm muß die gleiche Signatur besitzen:
procedure (Sender: TObject; var Action: TCloseAction) of object;
Delphi-Quellcode:
Die Zuweisung sieht dann so aus:
procedure TForm1.CloseForm (Sender: TObject; var Action: TCloseAction);
begin ShowMessage('Die neue Form wird geschlossen.'); end;
Delphi-Quellcode:
Gruß Hawkeye
with Form do
begin ... OnClose := CloseForm; ... end; |
Re: Erstellte Form onClose zu weisen ???
danke, war mir alles nicht bewußt.
Nochmals Danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 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 by Thomas Breitkreuz