![]() |
globale Prozedur - zur Laufzeit erzeugtes Form
Hallöle liebe DP'ler,
ich stehe momentan vor folgender Schwierigkeit. Ich erzeuge zur Laufzeit ein MDI Formular. Dieses enthält verschiedene globale Prozeduren, so z.B. myIMGclick; Jetzt erzeuge ich zur Laufzeit ein TImage dessen Parent eben das zur Laufzeit erzeugte MDI Formular ist. Soweit kein Problem, aber wie weiße ich dem TImage die Methode myIMGclick als "OnClick" Ereignis zu? Folgender Code läuft leider nicht:
Delphi-Quellcode:
was ja eigentlich auch logisch ist, da der Compiler ja die Prozedur "myIMGclick" nicht unter MyForm findet.
var myImg : TImage;
begin MyForm := TNewDBTable.Create(self); MyImage := TImage.Create(MyForm); MyImage.Parent := MyForm; MyImage.OnClick := myIMGclick; end; Grüße Ben |
Re: globale Prozedur - zur Laufzeit erzeugtes Form
Zitat:
Delphi-Quellcode:
Dann brauchst du noch eine Instanz dieser Klasse, denn "MyImage.OnClick := TIrgendeineKlasse.myIMGclick" ist ebenfalls unzulässig. Es muss schon "MyImage.OnClick := EinObjekt.myIMGclick" sein.
procedure TIrgendeineKlasse.myIMGclick(Sender: TObject);
|
Re: globale Prozedur - zur Laufzeit erzeugtes Form
|
Re: globale Prozedur - zur Laufzeit erzeugtes Form
Hallöchen,
thx für Eure schnelle Antwort. @SMO, dass mit der Klasse ist klar, die Prozedur myIMGclick ist ja auch als Klasse gekapselt. Im MDI Formular (welches NewDBTable heißt) steht unter public:
Delphi-Quellcode:
Ich bin blos nicht auf die Idee gekommen, anstatt
TNewDBTable.myIMGclick(blabla);
Delphi-Quellcode:
zu schreiben
MyImage.OnClick := MyForm.myIMGclick;
Delphi-Quellcode:
was aber auch nicht klappt, denn, was ja auch klar ist, OnClick ist ja ein NotifyEvent, während myIMGclick eine Prozedur ist. Also müsste ich den Tipp von jfheins nehmen. da steig ich aber noch nicht so ganz durch.
MyImage.OnClick := TNewDBTable.myIMGclick;
Trotzdem thx. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 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