mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-13 10:59:29 +02:00
69 lines
1.2 KiB
ObjectPascal
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.
|