Repository URL to install this package:
Version:
3.0.0 ▾
|
program method_init;
{$mode objfpc}
{.$mode delphi}
Type
{ TObj }
TObj = Class
procedure Test;
end;
{ TObj }
procedure TObj.Test;
Var
proc : procedure of object;
begin
proc := {$IFNDEF FPC_DELPHI}@{$ENDIF}TObject.Create.Free;
WriteLn('Expected TObject actual: ', TObject(TMethod(Proc).Data).ClassName);
if TObject(TMethod(Proc).Data).ClassName<>'TObject' then
halt(1);
end;
procedure UncompilableProc;
Var
proc : procedure of object;
begin
proc := {$IFNDEF FPC_DELPHI}@{$ENDIF}TObject.Create.Free; // uncompilable in FPC mode
WriteLn('Expected TObject actual: ', TObject(TMethod(Proc).Data).ClassName);
if TObject(TMethod(Proc).Data).ClassName<>'TObject' then
halt(2);
end;
begin
WriteLn('Mode: ', {$IFDEF FPC_DELPHI}'delphi'{$ELSE}'objfpc'{$ENDIF});
TObj.Create.Test;
UncompilableProc;
end.