Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Vorteil von TAction (https://www.delphipraxis.net/93981-vorteil-von-taction.html)

RavenIV 14. Jun 2007 08:23


Vorteil von TAction
 
Hallo zusammen

ich arbeite nun schon über zwei Jahre mit Delphi 7.
Nun habe ich den Job gewechselt und betreue eine bestehende Software.

Hier werden die Aktionen der Buttons über TActions gesteuert.
Bisher kannte ich das so, dass man die OnClick-Methode eines Buttons verwendet.
Nun steht aber im OnClick-Ereignis des Buttons die ActionExecute drin.

Was ist der grosse Vorteil von TAction für Buttons?
Kann mich da bitte jemand erleuchten?
Bisher sehe ich nur als Änderung, dass man Shortcut verwenden kann.

Für was kann man die TActions noch verwenden?

gruessle
Klaus

dr. love 14. Jun 2007 08:29

Re: Vorteil von TAction
 
Prozeduren und Funktionen, die in einem TAction zusammengefasst sind können auf simple Art und Weise wiederverwendet werden. Sie werden vernünftig organisiert und mit eindeutigen Namen versehen. Routinen für einen Button sollten also immer nur als "Mittler" arbeiten und die eigentliche Arbeit einer Action überlassen. So kann es auch nicht passieren, dass bei der Umgestaltung der GUI plötzlich Quelltextbausteine fehlen, nur weil mit der einzelnen Komponenten auch deren Ereignisbehandlungsroutinen gelöscht wurden.

CCRDude 14. Jun 2007 08:35

Re: Vorteil von TAction
 
1. Trennung von Code und User Interface (zumindest minimal).

2. Für die Unterstützung Sehbehinderter braucht man gerade Toolbuttons immer auch in einem Menü (da Toolbar keinen Fokus bekommt, kommt manche Readersoftware damit nicht zurecht), sobald man aber zwei UI-Elemente für denselben Zweck hat, muss man sich dank TAction nur einmal drum kümmern (klar könnte man den gleichen OnClick-Event zuweisen, aber darüber hinaus lässt sich mit Änderung der TAction.Enabled/Visible/etc. properties ja noch mehr machen)

Daß im OnClick das ActionExecute drinsteht ist normal, und das machst Du nicht selber - wenn die TAction einmal dem Control zugewiesen ist, spiegelt sich jede Änderung der TAction vollautomatisch auf dem Button, dem Menuitem etc. wieder.

Hawkeye219 14. Jun 2007 08:52

Re: Vorteil von TAction
 
Hallo,

man sollte auch das Ereignis Delphi-Referenz durchsuchenTAction.OnUpdate erwähnen, in dem der Code zum Aktivieren, Deaktivieren, Markieren und Demarkieren von Controls zentral verwaltet werden kann. Ohne Actions wird dieser Code normalerweise über die gesamte Applikation verstreut.

Gruß Hawkeye


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