Ist zwar irgendwie hässlich, sollte aber gehen.
Delphi-Quellcode:
var
SL :TStrings;
begin
try
SL := foo();
//Do something...
finally
if Assigned(SL) then
Free(SL);
end;
end;
noch ein Edit:
Sorgt die ListBox nicht von alleine für das Freigeben von TListBox.Items?
Da du Items das Ergebnis von foo übergibst, sollte das nicht dein Problem sein.
ListBox.Items.Assign(foo());