tinterface1.pp 391 B

123456789101112131415161718192021222324252627282930313233
  1. { %VERSION=1.1 }
  2. {$mode objfpc}
  3. type
  4. IInterface = interface(IUnknown)
  5. procedure mydo;
  6. end;
  7. TMyClass = class(TInterfacedObject, IInterface)
  8. procedure mydo;virtual;
  9. end;
  10. var
  11. l : longint;
  12. procedure tmyclass.mydo;
  13. begin
  14. l:=1;
  15. end;
  16. var
  17. c: TMyClass;
  18. i: IInterface;
  19. begin
  20. c := TMyClass.Create;
  21. i := c;
  22. l:=0;
  23. i.mydo;
  24. if l<>1 then
  25. halt(1);
  26. end.