xaromz hat die Sache schon (fast) richtig erlärt:
Delphi-Quellcode:
var
MyInterface: IMyInterface;
begin
MyInterface := TMyClass.Create;
MachWas(MyInterface); // "MyInterface" übergeben, nicht "MyClass"
// MyInterface := nil; // diese Zeile sparen wir uns, da "MyInterface" automatisch "out-of-scope" gerät
end;