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

69 lines
1.2 KiB
ObjectPascal

{ Source provided for Free Pascal Bug Report 3489 }
{ Submitted by "Danny Milosavljevic" on 2004-12-28 }
{ e-mail: danny_milo@yahoo.com }
program itest;
{$ifdef fpc}{$mode delphi}{$endif}
var
err : boolean;
type
IGtkObject = interface
['{C4741871-56EB-4A5C-BDC8-018992345B24}']
procedure Destroy1();
end;
IGtkWidget = interface(IGtkObject)
['{210BF9BD-232D-43D5-9ECA-94B8AB2734E5}']
procedure Destroy1();
procedure Show();
procedure Hide();
end;
DGtkObject = class(TInterfacedObject, IGtkObject, IInterface)
public
procedure Destroy1();
end;
DGtkWidget = class(DGtkObject, IGtkWidget, IGtkObject, IInterface)
public
constructor CreateWrapped(a:Pointer);
procedure Destroy1();
procedure Show();
procedure Hide();
end;
procedure DGtkObject.Destroy1();
begin
end;
constructor DGtkWidget.CreateWrapped(a:Pointer);
begin
end;
procedure DGtkWidget.Destroy1();
begin
end;
procedure DGtkWidget.Show();
begin
Writeln('Show');
err:=false;
end;
procedure DGtkWidget.Hide();
begin
Writeln('Hide');
end;
var
w: IGtkWidget;
begin
err:=true;
w := DGtkWidget.CreateWrapped(nil);
w.Show();
if err then
halt(1);
end.