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 Globale ActionList mit DataModule - Shortcuts (https://www.delphipraxis.net/191927-globale-actionlist-mit-datamodule-shortcuts.html)

BasilBavaria 4. Mär 2017 12:22

Globale ActionList mit DataModule - Shortcuts
 
Hallo zusammen!
Es gibt einen ähnlichen Eintrag im Forum, der mir aber leider keine Lösung bietet.

Ich hab eine ActionList in einem DataModule für die programmweite Verwendung.
Die Action habe ich einem Toolbutton der MainForm zugewiesen.

Mit Click auf den Button funktionert die Action - der zugewiesene ShortCut - hier <F12> - nicht.

Ein ähnliches Verhalten hatte ich vor längerer Zeit schon mal bei Lazarus festgestellt.
Da ist es ein Fehler im Zusammenhang mit Modal angezeigten Forms.

Nutzt Ihr überhaupt den Weg über eine globale ActionList mit ShortCuts oder verwendet Ihr eine eigene ActionList je Form?

Oder lieber gleich den Weg über OnKeyPress des Forms und eine Weiche für Funktionstaste verwenden?

Viele Grüße
Der Basil

Der schöne Günther 8. Mär 2017 11:53

AW: Globale ActionList mit DataModule - Shortcuts
 
Wenn die Shortcuts nur auf einem Formular funktionieren müssen reicht es aus das Datenmodul mit dem (Haupt)Formular als Owner zu erstellen:

Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
begin
   (...)
   
   // Da diese Form der Owner ist funktionieren auch die Shortcuts auf diesem
   // Formular. Sollen sie auch auf anderen funktionieren braucht es
   // das hier: http://stackoverflow.com/a/851589/2298252
   meinDatenModul := TMeinDatenModul.Create(self);
   
   (...)
end;

Slipstream 8. Mär 2017 13:10

AW: Globale ActionList mit DataModule - Shortcuts
 
Vielleicht liegt es auch daran?

Rollo62 10. Mär 2017 15:39

AW: Globale ActionList mit DataModule - Shortcuts
 
Ich hatte auch genre meine Ressourcen in DM ausgelagert, mache ich teilweise
noch so mit z.B. Icons.

Ich benutze die Ations aber nicht mehr weil schonmal öfters die Links zum externen DM verloren gehen, und dann muss Alles neu verdrahtet werden.
Das kann mal ziemlich ärgerlich werden bei größeren Projekten.

Mit dem ActionManager hatte ich auch mal rumgespielt, so wie ich mich erinnere kann der verschiedene ActionLists bündeln, und dann als neue ActionList lokal der Form bereit stellen.

Aber eigentlich bin ich mittlerweile von den ActionLists runter und benutze die
TMessages mit dem TMessageManager zum versenden von Aktionen.

Rollo


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz