In Java löst man solche Probleme meist mit einer Factory, in C++ funktioniert da mit Templates problemlos
Allgemein ließe sich das umgehen, indem du
LCommand := NIL; // Wie geht das hier?
weglässt und den Parameter mit dem Defaultwert initialisierst oder einfach den Rückgabewert zuerst auswertest:
Delphi-Quellcode:
var
Que : TThreadList<IFoo>;
Foo : IFoo;
begin
//Foo := nil;
if Que.popElement(Foo) then
begin
try
Foo.Whatever;
finally
Que.Unlocklist;
end;
end;
end;