Hallo zusammen,
ich habe folgendes Problem, ich bin jetzt sozusagen an der gleichen Stelle. Ich habe mein Problem jetzt so gelöst
mit den Captions wie hier beschrieben. Ich habe jetzt aber das Problem, das ich nicht die Captions haben möchte sondern
2 andere String Variablen. Da das ActionClientItem, aber nur die Eigenschaft Caption hat. Dachte ich mir das ich die Klasse ableite
und 2 String Variablen anhänge. Leider funktioniert das nicht.
hier zu der Code:
erst die Abgleitete Klasse:
Delphi-Quellcode:
type
TMyActionClientItem = class(TActionClientItem)
private
speicher : String;
public
end;
Mein Item aus dem ActionMainMenubar:
Delphi-Quellcode:
itemX:TActionClientItem;
//Das Menü wird Dynamisch erstellt und an dieser stelle ist eine for schleife
itemX := ActionManager.ActionBars[0].Items[7].Items[i].Items.Add;
//Und hier wird das Item zu dem Menü mit Index i geaddet.
itemX.Action := iAction;
//achtung jetzt kommt das Problem
itemX.Caption := 'blub';
TMyActionClientItem(itemX).speicher := 'speicher';
Ich weiß jetzt nicht genau, ob ich von der Falschen Klasse ableite, um zusätzliche Strings in jedem Item zu hinterlegen. Oder
ich einen Fehler mache beim ableiten der Klasse. Ich will eigentlich nur dem item zwei neue String Variablen hinzufügen,
damit ich noch mehr als nur die Caption jedem Item mitgeben kann.
Wenn ich so compeliere bekomme ich eine Execption EAccesViolation, Fehler beim Lesen speicherstelle blub.
Wenn ich itemX direkt als mein TMyActionClientItem instanziere, bekomme ich den Fehler an dieser Stelle, dass
itemX := ActionManager.ActionBars[0].Items[7].Items[i].Items.Add;
Incompatible Typen : TMyActionClient und TActionclientItem.
Vielleicht versuche ich gerade was unmögliches keine Ahnung.
Schon mal thx for help.
greetz Lun