Bin gerade über alten Code gestoßen und bin mir unsicher, ob das so sein darf:
Delphi-Quellcode:
class function TContainer.CreateContainer(...) : IContainer;
var BlaType : IBlaType;
Example : TContainer; //IContainer;
begin
Result := nil;
Example := TContainer.Create(...);
if Assigned(Example) and FindBlaType(...) then
begin
Example.SetIrgendwas(BlaType);
Result := Example;
end;
end;
In dem vereinfachten und gekürzten Beispiel muss noch die Variable Example von Typ IContainer sein, so wie im Kommentar angedeutet, oder etwas nicht?
Hab ich hier den Fall vorliegen, vor dem immer gewarnt wird?
"Du sollst nicht Interface- und Objekt-Referenzen mischen!"