AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Grundlegendes Verständnis - Actions und deren Registrierung
Thema durchsuchen
Ansicht
Themen-Optionen

Grundlegendes Verständnis - Actions und deren Registrierung

Ein Thema von Hausmarke · begonnen am 28. Jun 2013 · letzter Beitrag vom 1. Jul 2013
 
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.688 Beiträge
 
Delphi 12 Athens
 
#6

AW: Grundlegendes Verständnis - Actions und deren Registrierung

  Alt 1. Jul 2013, 08:08
@U.Raabe:
mein Ziel ist es die Actions zur Laufzeit und damit dynamisch zur Actionlist hinzuzufügen.
Ich dachte dies nennt man registrieren.
Wie darf man das RegisterAction sonst verstehen? Wo werden die Actions Registriert wenn nicht in der ActionList?
Man unterscheidet grundsätzlich zwischen einer TAction, bei der das OnUpdate und OnExecute als Event ausgeführt sind, die du in deinem Code wie bei einem OnClick-Event behandelts, und speziellen Actions, von denen man einige in StdActns.pas finden kann (z.B. TFileExit) und die für bestimmte Fälle ein vordefiniertes Verhalten implementieren. Alle diese Actions können zu ActionLists hinzugefügt werden. Das geschieht einfach durch Zuweisung der ActionList auf das entsprechende Property der Action.

Damit diese Actions aber im ActionListEditor der IDE auftauchen (das was aufgeht, wenn man in der IDE einen Doppelcklick auf die ActionList macht), müssen sie in der IDE mit RegisterActions registriert werden. RegisterActions brauchst du also nur, wenn du in einem DesignTime-Package für die IDE eine neue ActionKlasse registrieren willst. Zur Runtime brauchst du diese Funktion nicht.

Die Actions aus StdActions werden von den Delphi-Packages bereits registriert. Wenn du mal in der IDE auf eine ActionList doppelclickst und dann den DropDown-Pfeil beim "Neue Action"-Button anklickst, dann siehst du einen Menüpunkt "Neue Standardaktion". Dahinter verbirgt sich die Liste aller registrierten Standard-Aktionen. Je nach installierten Fremd-Komponenten sind das auch mal durchaus mehr als die Delphi-Standard-Actions.

Also: RegisterActions dient zum Registrieren neuer Aktions-Klassen in der IDE und ist nur zur Designzeit relevant. Das Hinzufügen einer TAction-Instanz zu einer ActionList geschieht durch Zuweisung des ActionList.Properties der TAction und wird zur Runtime durchgeführt, wenn die ActionList nicht (oder nur teilweise) schon im Designer gefüllt wurde.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 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