1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- { %VERSION=1.1 }
- {$mode objfpc}
- type
- IInterface = interface(IUnknown)
- procedure mydo;
- end;
- TMyClass = class(TInterfacedObject, IInterface)
- procedure mydo;virtual;
- end;
- TMyClass2 = class(TMyClass)
- i : integer;
- end;
- var
- l : longint;
- procedure tmyclass.mydo;
- begin
- l:=1;
- end;
- var
- c: TMyClass;
- i: IInterface;
- c2 : TMyClass;
- begin
- c := TMyClass.Create;
- i := c;
- l:=0;
- i.mydo;
- if l<>1 then
- halt(1);
- c2 := TMyClass2.Create;
- i := c2;
- l:=0;
- i.mydo;
- if l<>1 then
- halt(1);
- end.
|