![]() |
onClick aus einer Datei aufrufen
Hallo,
In einer Datei stehen Funktionens bezeichner drin z.b. von Buttons und TmenuItems nun möchte ich gerne die zugehörige funktion dazu aufrufen beispiel: in der datei steht "Play:strg + p" drin jetzt wird Play gefunden und ein Click hintendran gehangen und PlayClick soll aufgerufen werden. Aber ich möchte keine procedure schreiben die ungefähr so aussieht:
Delphi-Quellcode:
auch wenn das das einfachste währe.
procedure runFunktion(funktionsName:String);
begin if funktionsName = 'Play' then... end; ich habe mir das ganz so vorgestellt: es werden alle Buottns und Tmenuitems abgespeichert wie oben gezeigt dann wird bei onKeyDown einfach der entsprechnde eintrag gesucht fals vorhanden soll die zugehörige funktion aufgerufen werden. Ich hoffe das ich das problem ausführlich und verständlich beschrieben habe :-D ich habe mit dieser "baustelle" noch nicht angefanngen weil ich wollte mir erst ein paar gedanken machen und wenn auf den "papier" alles läuft fange ich an. Vielen dank für eure Hilfe PS: ich habe auch noch nicht gesucht weil mir ist kein stichwort eingefallen wonach ich suchen könnte bezüglich dieses Problems..... ! |
Re: onClick aus einer Datei aufrufen
Du willst also das OnClick-Event einer Komponente, deren Namen du kennst, aufrufen? Das Control kannst du per
![]() ![]() |
Re: onClick aus einer Datei aufrufen
besten dank.
Wenn ich dich richtig verstanden habe: muss ich die entsprechende komponente suchen mit TControl(FindComponent).Click // währe das richtig ? weil ich würde es gerne allgemein machen |
Re: onClick aus einer Datei aufrufen
Ich würde Actions verwenden, da diese sowohl an ein Menüeintrag als auch an einen Button angeklemmt werden können:
Delphi-Quellcode:
procedure runAction(const ActionName:String);
var c : Tcomponent; begin c := Application.MainForm.FindComponent(ActionName); if not Assigned(c) then raise Exception.CreateFmt('Action <%s> not found !', [ActionName]); (c as TAction).Execute; // und Feuer end; |
Re: onClick aus einer Datei aufrufen
Besten Dank.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 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