@@ -0,0 +1,31 @@
+{$mode objfpc}
+type
+ IInterface = interface(IUnknown)
+ procedure mydo;
+ end;
+
+ TMyClass = class(TInterfacedObject, IInterface)
+ procedure mydo;virtual;
+var
+ l : longint;
+procedure tmyclass.mydo;
+ begin
+ l:=1;
+ c: TMyClass;
+ i: IInterface;
+begin
+ c := TMyClass.Create;
+ i := c;
+ l:=0;
+ i.mydo;
+ if l<>1 then
+ halt(1);
+end.