![]() |
OnClick auf globale Funktion setzen ...
Halla Zusammen,
brauch mal bitte Euere Hilfe! Hab folgendes Problem: ================================================== ======================= procedure TuWas(Sender: TObject); begin ShowMessage('Ich tu was'); end; var SubMenu: TMenuItem; procedure InstalliereWas(MainMenu: TMainMenu); begin SubMenu:=TMenuItem.Create(NIL); SubMenu.Caption:='TU WAS !!!'; SubMenu.OnClick:=TuWas; // <============ HIER IST SCHLUSS :wall: MainMenu.Items.Add(SubMenu); end; ================================================== ======================= Also ich ruf die Funktion InstalliereWas(Form1.MainMenu) auf und es wird ein weiterer Menueintrag im Hauptfenster angehängt. Das Teil soll in ein Package rein, damit ich dynamisch Teile dazuladen kann etc. Wer kann mir helfen. PS: War da nicht was mit MakeProcObject oder so ähnlich ???? |
Re: OnClick auf globale Funktion setzen ...
Aha...
Das liegt wohl daran, dass alle gängigen events methoden erwarten und keine normalen prozeduren. Also procedure (sender:TObject) of object;. Du kannst das mit class methoden umgehen:
Delphi-Quellcode:
mfg maximom
...
TWrapper = class class procedure TuWas(sender:TObject); end; ... procedure TWrapper.TuWas(Sender: TObject); begin ShowMessage('Ich tu was'); end; var SubMenu: TMenuItem; procedure InstalliereWas(MainMenu: TMainMenu); begin ... SubMenu.OnClick:=TWrapper.TuWas; |
Re: OnClick auf globale Funktion setzen ...
Genial einfach, einfach genial.
:oops: Das einfache liegt so nah, wieso bin ich nicht darauf gekommen !?!?!?! :oops: Besten Dank für die schnelle Hilfe !!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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