Warum Dein Programm mit der Messagebox funktioniert und warum ohne nicht kann ich Dir nicht sagen.
Ich frage mich nur warum Du das so kompliziert machst, da gäbs doch eine viel elegantere Lösung...
Delphi-Quellcode:
procedure CleanList(aListBox: TListBox);
var
i: integer;
lTempList: TStringList;
begin
if (aListBox <> nil) then
begin
lTempList := TStringList.Create;
try
aListBox.Items.BeginUpdate;
try
for i := 0 to aListBox.Items.Count - 1 do
if (lTempList.IndexOf(aListBox.Items[i]) = -1) then //IndexOf liefert -1 wenn nicht gefunden
lTempList.Add(aListBox.Items[i]);
aListBox.Items.Clear;
aListBox.Items.AddStrings(lTempList);
finally
aListBox.Items.EndUpdate;
end;
finally
lTempList.Free;
end;
end;
end;