AGB  ·  Datenschutz  ·  Impressum  







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

Submenu Einträge löschen

Ein Thema von Alexander · begonnen am 10. Sep 2002 · letzter Beitrag vom 10. Sep 2002
Antwort Antwort
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#1

Submenu Einträge löschen

  Alt 10. Sep 2002, 15:47
Hallo
ich habe ein Problem beim Löschen der Items eines Submenus. Hier mein Quellcode:
Code:
procedure TEditForm.eigeneBefehle2Click(Sender: TObject);
var
  Ini: TIniFile;
  NeuesMenuItem : TMenuItem;
  i, int : Integer;
begin
   stringliste2 := tStringList.Create;
  try
    Ini:=TIniFile.Create(ExtractFilePath(ParamSTr(0))+'daten\config\befehle.dat');
    Ini.ReadSection('befehle', stringliste2);

 //   eigeneBefehle2.Clear;
    for i:=0 to stringliste2.Count -1 do
     begin
    NeuesMenuItem := TMenuItem.Create(Self);
    NeuesMenuItem.Caption := stringliste2[i];
    NeuesMenuItem.Hint := stringliste2[i];
     NeuesMenuItem.OnClick := unsicht2Click;
    eigeneBefehle2.Add(NeuesMenuItem);
    end;
  if (eigeneBefehle2.Items[0].Caption = '') then
     eigeneBefehle2.Items[0].Destroy;

  finally
    Ini.Free;
  end;

end;
Ich wollte eigentlich die Items mit Clear löschen was aber irgendwie nicht geht. Wie muss ich sie dann löschen??
(Wenn ich sie mit clear löschen und dann wieder alle Items einfüge, so will das Submenü nicht aufgehen!)
Danke schon mla
Alexander
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 10. Sep 2002, 16:06
Moin Alexander,

probiers doch mal so (statt Clear):

Code:
   while eigeneBefehle2.Count > 0 do
   begin
     eigeneBefehle2.Items[eigeneBefehle2.Count-1].Free;
   end;
BTW:
Du hast da auch Destroy verwendet, nimm' da lieber mal Free;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 10. Sep 2002, 16:09
Versuche mal folgenden Ansatz:
Code:
var
  NeuesMenuItem, DelItem: TMenuItem;
begin
  DelItem := NeuesMenuItem.Items[0];
  NeuesMenuItem.Remove(NeuesMenuItem.Items[0]);
  DelItem.Free;
end;
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#4
  Alt 10. Sep 2002, 16:42
Danke an euch beide
Ich habe Christians Lösung genommen, bloß für
Code:
while eigeneBefehle2.Count > 0 do
Code:
while eigeneBefehle2.Count > 1 do
genommen, da anscheinend immer 1 Item da sein muss, sonst kann er keine neuen hinzufügen. Danke
Alexander
  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 11:59 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