Einzelnen Beitrag anzeigen

Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#30

Re: Komponenten freigeben - Invalid pointer operation

  Alt 17. Okt 2006, 15:06
Das schaut mir verdächtig nach ner ActionList aus.
Schau mal in der IDE nach, da gibt es eine Komponente namens TActionList. In diese TActionList kannst Du TActions einfügen. Diese sind sozusagen Deine Applikationsereignisse. Hier gibt es vorgefertigte, wie FileIO, aber auch die Möglichkeit, eigene Events an die Actions zu knüpfen.
Nun zu den Knöpfen. Diese haben eine Property namens Action. Falls Du eine deiner Actions in der ActionList dem Knopf zuweist, ruft dieser dann die execute-Methode dieser Action. Um die Freigabe musst Du Dich überhaupt nicht kümmern. Entweder der Knopf geht bei der Freigabe der Form flöten (vorrausgesetzt Du hast diese als Owner anggegeben) oder Du gibst ihn von Hand frei. Hier würde ich nicht empfehlen, die Knöpfe separtat nochmal zu speichern, sondern die Controls-Liste des jeweiligen Parents durchzugehen, bis der entsprechende Knopf gefunden ist und den hier freizugeben.
Die Sache mit den Actions hat folgenden Vorteil: Du kannst diese Actions auch als Menü darstellen lassen bzw. die execute-Methode direkt aus dem Programm rufen. Ausserdem bietet Delphi die Möglichkeit, die Anordnung des Menüs usw. auch vom Nutzer vornehmen zu lassen und speichert diese auf Platte.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat