tw27349.pp 716 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. { %NORUN }
  2. program tw27349;
  3. {$mode delphi}
  4. {.$mode objfpc}
  5. {.$modeswitch advancedrecords}
  6. type
  7. C = class
  8. type
  9. tmyintf = class(TInterfacedObject, iinterface)
  10. function _AddRef : longint; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
  11. end;
  12. end;
  13. R = record
  14. type
  15. tmyintf = class(TInterfacedObject, iinterface)
  16. function _AddRef : longint; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
  17. end;
  18. end;
  19. function C.tmyintf._AddRef: longint; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
  20. begin
  21. result := inherited _AddRef; // OK
  22. end;
  23. function R.tmyintf._AddRef: longint; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
  24. begin
  25. result := inherited _AddRef; // FAIL
  26. end;
  27. begin
  28. end.