Zitat von
MrKnogge:
Zitat von
mirage228:
Wobei Actions ganz cool sind. Willst Du z.B. etwas aus dem MainMenu auch in einem PopUp Menü verwenden, kannst Du einfach die Action zuweisen
Kannst du bei "normalen" Menüs auch...
Wenn du allerdings verschiedene Aktionen selektiv an/ausschalten willst dann fangen Actions an wirklich Spass zu machen!
Stell dir vor, du hast irgendwo ein Eingabefeld in dem z.B. ein Dateiname eingegeben werden soll. Dann gibt es ein Menü, einen Button, und verscheidene PopupMenüs in denen eine Aktion stattfindet die diesen Dateinamen benötigt. Ist der Dateiname leer so sollen die Elemente deaktiviert sein.
Mit "normalen" Menüs/Buttons fängst du jetzt an, bei
allen beteiligten Controls per Code "enabled := false" zu setzen. Es ist sehr wahrscheinlich, Murphy lässt grüssen, dass du dabei eines der Controls vergisst
Jetzt wird allen beteiligten Controls die Action zugewiesen welche diese Aktion ausführt. In dem Eventhandler für das Update-Event dieser Action prüfts du ob der Dateiname eingegeben wurde und deaktivierst dann gegebenenfalls
diese eine Action. ...
Wuppdi: schon sind alle Controls die an dieser Action "hängen" automatisch mit deaktiviert.
Anders Beispiel:
Wieder gibt es verschiedene Kontrollelemente die jeweils die selbe Aktion ausführen, manche Benutzer arbeiten ja lieber mit Menüs, andere lieber mit Buttons. Diese Kontrollelemente haben alle die selbe Beschriftung.
Jetzt soll die Anwendung zur Laufzeit in eine Andere Sprache übersetzt werden. Da Actions nicht nur Aktionen ausführen sondern auch bestimmte Eigenschaften, wie z.B. Beschriftung, an die Controls weitergeben muss die Beschriftung nur noch
ein einziges mal gesetzt werden. Alle an der Action "hängenden" Controls ändern sich mit!!
Ich finde, es lohnt sich durchaus Actions einzusetzen weil sie viele interne Verwaltungsaufgaben die immer wieder autauchen wesentlich erleichtern!
Ciao,
Ralf