AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

tAction <> tContainedAction

Ein Thema von gkoeder · begonnen am 18. Feb 2008 · letzter Beitrag vom 18. Feb 2008
Antwort Antwort
gkoeder

Registriert seit: 15. Jun 2004
84 Beiträge
 
Delphi 2010 Professional
 
#1

tAction <> tContainedAction

  Alt 18. Feb 2008, 23:14
Hallo!

Ich möchte eine ActionList zur Laufzeit kopieren. Dies habe ich bislang folgendermaßen bewerkstelligt:

Delphi-Quellcode:
procedure TFlexibleActionManager.SetBackupActionlist(const Value: tActionList);
var
  ActionCount: Integer;
  ClonedAction: tAction;
begin
  // Wenn die BackupActionlist noch nicht existiert, wird diese neu erstellt oder alternativ geleert
  if Not Assigned(fBackupActionList)
  then BackupActionlist := tActionList.Create(Self)
  else ClearBackupActionlist;

  // Alle Actions der MasterActionlist durchgehen ...
  for ActionCount := 0 to Value.ActionCount - 1 do
  Begin
    // Ein neues tAction-Objekt erstellen
    ClonedAction := tAction.Create(BackupActionList);
    // In die neue Action die Werte eines vorhandenen tAction-Objekts kopieren
    ClonedAction.Assign(Value.Actions[ActionCount]);
    // ... und anschließend das neue Objekt der BackupActionlist zuweisen
    ClonedAction.ActionList := BackupActionList;
  End;
end;
Dies scheint auch soweit zu funktionieren. Die Eigenschaft ActionCount liefert nachher bei der "kopierten" Actionlist dieselbe Anzahl von tActions wie in der Original-Actionlist.

Nun beginnt aber das Problem. Ich möchte auf die einzelnen gespeicherten Elemente zugreifen. Diese sind aber bei einer tActionList als tContainedAction hinterlegt. Da ich aber für einen Vergleich z.B. die Eigenschaft 'Name' benötige - und diese praktischerweise erst bei der von tContainedAction abgeleiteten Klasse tAction vorhanden ist - stehe ich im Wald (oder ich hab einen Denkfehler, da nach der kopierei z.B. BackupActionlist.Actions[ActionCount].Name immer leer ist ...).

So meine Frage: Wie kann ich bei der obigen Konstellation wieder auf die erstellten tAction-Objekte mit allen Eigenschaften, etc. zugreifen?

Für Vorschläge aller Art schonmal besten Dank im Vorraus

Gruß
Gerald
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: tAction <> tContainedAction

  Alt 18. Feb 2008, 23:21
Du musst die Elemente in den passenden Typ casten.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:36 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