![]() |
tAction <> tContainedAction
Hallo!
Ich möchte eine ActionList zur Laufzeit kopieren. Dies habe ich bislang folgendermaßen bewerkstelligt:
Delphi-Quellcode:
Dies scheint auch soweit zu funktionieren. Die Eigenschaft ActionCount liefert nachher bei der "kopierten" Actionlist dieselbe Anzahl von tActions wie in der Original-Actionlist.
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; 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 |
Re: tAction <> tContainedAction
Du musst die Elemente in den passenden Typ casten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 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