AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ActionClientItem aus ActionMainmenubar aufräumen?
Thema durchsuchen
Ansicht
Themen-Optionen

ActionClientItem aus ActionMainmenubar aufräumen?

Ein Thema von Lun · begonnen am 8. Dez 2006 · letzter Beitrag vom 8. Dez 2006
 
Benutzerbild von Lun
Lun

Registriert seit: 4. Feb 2006
122 Beiträge
 
Delphi 2005 Professional
 
#1

ActionClientItem aus ActionMainmenubar aufräumen?

  Alt 8. Dez 2006, 10:31
Hi @ll,

ich habe ein Problem, ich habe eine ActionMainMenubar, in dieser Menubar erzeuge ich dynamisch in einem Menüpunkt Unterpunkte.
Diese Unterpunkte sind logischerweise vom Typ ActionClientItem, da ich aber zur Caption noch zwei Variablen dazu ablegen möchte,
fehlten mir zwei Stringtypen. Dann habe ich mir gedacht leite ich vom Typ ActionClientItem ab, und dann bastel ich mir meine 2 variablen. Das hat aber nicht funktioniert, keine ahnung warum. Dann habe ich eine Ableitung vom Typ TColletionItem gemacht.

Delphi-Quellcode:
type
  TMyCollectionItem = class(TCollectionItem)

  private
       var1 : String;
       var2 : String;
  public
      

  end;
Jetzt funktioniert das hinzufügen ohne Probleme, ich kann diese beiden Variablen auch ansprechen und gebrauchen. Bsp. Code

Delphi-Quellcode:

var

Item : TActionClientItem

for i := 0 to Liste.Count-1 do begin
      Item := _ActionManager.ActionBars[0].Items[7].Items[in].Items.Add; //Und hier wird das Item zu dem Menü mit Index in geaddet.
      Item.Action := iAction; //iItem wird eine Action zugewiesen
     
      iItem.Caption := 'abc';


       TMyCollectionItem(Item).var1 := 'def';
       TMyCollectionItem(Item).var2 := 'ghz';


        //ShowMessage(TMyCollectionItem(Item).var1 + TMyCollectionItem(Item).var2);
       end;

Aber wenn ich einen Menupunkt neuerzeugen möchte, also den alten löschen einen neuen anlegen, bekomme ich die Items nicht gelöscht:

Delphi-Quellcode:

 //ohne die zwei variblen var1,var2 werden die Items sauber gelöscht
 _DFB_ActionManager.ActionBars[0].Items[7].Items[itemI].Items.Clear;
Wie bekomme ich jetzt hin das die beiden variablen mit gekillt werden?
Hab es bis jetzt so versucht:

TMyCollectionItem(_ActionManager.ActionBars[0].Items[7].Items[in].Items).Free;
TMyCollectionItem(_ActionManager.ActionBars[0].Items[7].Items[in].Items).Collection.Clear;
TMyCollectionItem(_ActionManager.ActionBars[0].Items[7].Items[in].Items).CleanupInstance;
TMyCollectionItem(_ActionManager.ActionBars[0].Items[7].Items[in].Items).FreeInstance;

Ich denke auch nicht das, dass der richtige ansatz ist, da ich so nur ein Item anspreche oder?

Vielleicht hat ja jemand eine Idee, oder vielleicht hätte ich doch von TActionclientItem ableiten müssen, da habe ich aber das
Problem das: _ActionManager.ActionBars[0].Items[7].Items[in].Items.Add;
Die Add funktion von ActionClients ein ActionClientItem zurück gibt. Und das bringt mir nix, und das außer acht lassen geht nicht.
Da dies nicht funtzt:

TMyActionClientItem(Item).var2 := 'ghz'; // Kind-Klasse := ElternKlasse geht net

Also thx for help

greetz Lun
  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 20:51 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 by Thomas Breitkreuz