Die OnClick-Prozedur muss vom Typ TNotifyEvent sein und als Methode der Klasse deklariert werden, z.B.:
Delphi-Quellcode:
type
TForm1 = class(TForm)
procedure listboxclick(Sender: TObject);
private
...
public
...
end;
In deiner Schleife kannst du diese Prozedur jetzt als Ereignis zuweisen:
Delphi-Quellcode:
while x < id do
begin
listbox1.items.add(variable1);
listbox1.items[x].onClick := listboxclick;
inc(x);
end;
Weitere Variablen können bei einem NotifyEvent nicht übergeben werden, du kannst aber auf alle Eigenschaften des aufrufenden Events zugreifen. Den Inhalt von variable1a könntest du z.B. in der Eigenschaft tag speichern und beim anklicken auslesen (nicht getestet):
Delphi-Quellcode:
procedure TForm1.listboxclick;
begin
ShowMessage(TListbox(Sender).tag);
end;
MfG
fenni