Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Auslöser einer TAction auslesen (https://www.delphipraxis.net/62393-ausloeser-einer-taction-auslesen.html)

sepp001 3. Feb 2006 21:48


Auslöser einer TAction auslesen
 
Hallo zusammen,

ich habe eine Action mit mehreren Komponenten (Button, MenuItem) verlinkt. Wie kann ich herausbekommen, wer letzten Endes die Action angestossen hat? Der Sender scheint keine grosse Hilfe zu sein, denn mit

Delphi-Quellcode:
(Sender as TComponent).Name
im Execute-Event der Action erscheint diese selbst.

Ciao,
sepp001

marabu 4. Feb 2006 08:10

Re: Auslöser einer TAction auslesen
 
Guten Morgen.

Du suchst die property ActionComponent der BasisAction. Mit meinem Code-Beispiel möchte ich dich auf die Fallstricke aufmerksam machen:

Delphi-Quellcode:
procedure TTestForm.TestActionExecute(Sender: TObject);
begin
  if not Assigned(Sender) then
    ShowMessage('triggered by shortcut') else
  if not (Sender is TAction) then
    ShowMessage('someone blew it') else
  with Sender as TAction do
    if Assigned(ActionComponent)
      then ShowMessage(ActionComponent.Name)
      else ShowMessage(Name);
end;
Grüße vom marabu

sepp001 4. Feb 2006 12:01

Re: Auslöser einer TAction auslesen
 
Vielen Dank,

das ist genau das, was ich gesucht habe.

Ciao,
sepp001

sepp001 5. Feb 2006 10:19

Re: Auslöser einer TAction auslesen
 
Hat sich erledigt.

Ciao,
sepp001


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