Was passiert denn hier, wenn das Item nicht gefunden wird?
Delphi-Quellcode:
ix:= Listbox1.Items.IndexOf(Item);
ListBox1.Selected[ix]:=true;
Dann müsste ix doch -1 sein.
Was wird denn ausgewählt, wenn
ListBox1.Selected[-1]:=true;
gesetzt wird? (geht das überhaupt?)
Wie wäre es denn mit diesem hier?
Delphi-Quellcode:
ix:= Listbox1.Items.IndexOf(Item);
if ix <> - 1 then ListBox1.Selected[ix]:=true;
Was passiert denn mit den Einträgen, die vor dem Aufruf der Prozedur bereits markiert sind?
Korrekterweise müsste doch die Prozedur bei mehrfachem Aufruf mit unterschiedlichen Werten additiv sein.
Wäre es eventuell hilfreich, vorher alle bestehenden Markierungen aufzuheben?