Hallo Blup,
Zitat von
Blup:
GetAppInterface gibt hier nil zurück, wenn ein unbekannter Klassenname angegeben wird.
Bei der Verwendung lokaler Variablen sieht das möglicherweise anders aus:
Delphi-Quellcode:
function F1: IInterface;
begin
Result := TInterfacedObject.Create;
end;
function F2: IInterface;
begin
end;
procedure P1;
var
I: IInterface;
begin
I := F1();
if Assigned(I) then
ShowMessage ('nach F1(): I <> nil');
I := F2();
if Assigned(I) then
ShowMessage ('nach F2(): I <> nil');
end;
Die
Erklärung dieses Verhaltens liefert Alex Ciobanu in seinem Blog.
Gruß Hawkeye