@Yadon: dagegen spricht das dies nicht möglich ist.
Möglich wäre nur das man jedem Item die gleiche Procedure zuweist (vom typ TNotifyEvent) und dann anhand des senders die caption ausliest.
Delphi-Quellcode:
[...]
tmi := tmenuitem.Create(self);
[..]
tmi.Caption := listbox1.Items[i];
tmi.OnClick := ItemClick; //<== hier das OnClick zuweisen
popupmenu1.Items.Add(tmi);
[...]
procedure TForm1.ItemClick(Sender: TObject);
begin
if Sender is TMenuItem then
showmessage(TMenuItem(Sender).Caption); //anstelle von Showmessage kannst du natürlich auch was anderes aufrufen - zum beispiel deine funktion die den string erwartet.
end;