Hi!
Ich habe mal wieder ein Problem.
Ich denke es ist eher ein Denkfehler von mir ^^
Also kommen wir zur Sache:
Ich habe eine TListBox in der ich mehrere Elemente, welche markiert sind, löschen möchte.
Leider funktioniert das nicht wirklich, das heisst es gibt eine
Exception mit einem EListError der lautet: "Listenindex überschreitet das Maximum (3)"
Ich versuche das Löschen über folgenden Code:
Delphi-Quellcode:
procedure TfrmMain.btnDeleteClick(Sender: TObject);
var
index: integer;
begin
for index := 0 to listSource.Count-1 do
begin
if listSource.Selected[index] then
begin
DeleteFromList(index);
end;
end;
end;
Und hier der Quellcode von der Prozedur "DeleteFromList":
Delphi-Quellcode:
procedure DeleteFromList(id: integer);
var
pic: integer;
begin
if not (id = -1) then
begin
for pic := id to frmMain.listSource.Count-2 do
begin
Image[pic] := Image[pic+1];
end;
frmMain.listsource.Items.Delete(id);
SetLength(Image,frmMain.listsource.Count);
end;
if frmMain.listsource.Items.Count = 0 then
begin
frmMain.btnDelete.Enabled := false;
end;
end;
Ich hoffe auf eure Hilfe, denn mein Kopf raucht so langsam
Tschüssi
Kill0r