TListBox.OnEnd ist mir noch nicht über den Weg gelaufen, ich kenne lediglich
TListBox.OnEndDrag und
TListBox.OnEndDock. Hat aber mit deinem Problem nichts zu tun.
Wieso reagierst du nicht einfach auf eine Änderung des Eingrags in Listbox1 mit dem Einlesen in Listbox2? Und um unnötiges Einlesen zu vermeiden (es gibt kein OnChange in TListBox, ein Klick muß nicht zangsläufig den ItemIndex ändern), fragst du vor dem Einlesen in Listbox2, also im OnClick von Listbox1 ab, ob sich der ItemIndex geändert hat:
Delphi-Quellcode:
...
Private
Var
Idx_ListBox1,
Idx_ListBox2 : Integer;
...
Implementation
Procedure TForm1.ListBox1Click(Sender: TObject);
begin
If ListBox1.ItemIndex = Idx_ListBox1 Then Exit;
Idx_ListBox1 := ListBox1.ItemIndex;
Einlesen_ListBox2;
end;