Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
fpc-src / usr / share / fpcsrc / 3.0.0 / tests / webtbs / tw24844.pp
Size: Mime:
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.