![]() |
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 |
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.
|
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. |
Re: Vorteil von TAction
Hallo,
man sollte auch das Ereignis ![]() Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:45 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