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 / tw25269.pp
Size: Mime:
{$MODE objfpc}

type
  IMyInterface = interface
    procedure Test(a, b: Integer);
  end;
  TMyBaseClass = class(TInterfacedObject, IMyInterface)
    procedure Test(a, b: Integer); virtual; abstract;
  end;
  TDescendent = class(TMyBaseClass)
    procedure Test(a, b: Integer); override;
  end;

var
  global_a, global_b: Integer;

procedure TDescendent.Test(a, b: Integer);
begin
  global_a := a;
  global_b := b;
end;

var
  q: IMyInterface;
begin
  q := TDescendent.Create;
  q.Test(18, 42);
  if (global_a <> 18) or (global_b <> 42) then
    halt(1);
  Writeln('Ok!');
end.