fpc/tests/webtbs/tw3263.pp
2005-02-14 17:13:06 +00:00

46 lines
892 B
ObjectPascal

{ Source provided for Free Pascal Bug Report 3263 }
{ Submitted by "Frank Kintrup" on 2004-08-20 }
{ e-mail: frank.kintrup@gmx.de }
{$MODE Delphi}
type
TAncestor = class (TObject)
constructor Create; virtual; overload;
end;
type
TDerived = class (TAncestor)
constructor Create; override; overload;
constructor Create(aParam : Integer); overload;
end;
var
err : boolean;
constructor TAncestor.Create;
begin
writeln('TAnscestor.Create');
err:=false;
end;
constructor TDerived.Create;
begin
writeln('TDerived.Create');
inherited Create; // Calls TAncestor.Create
end;
constructor TDerived.Create(aParam : Integer);
begin
// Should call virtual TDerived.Create
// Compiler stops here "Illegal expression"
writeln('TDerived.Create(aParam)');
Create;
end;
var D : TDerived;
begin
err:=true;
D := TDerived.Create(0);
if err then
halt(1);
end.