Test suite results for test file tbs/tb0485.pp

Test run data :

Run ID:
Operating system: linux
Processor: arm
Version: 3.3.1
Fails/OK/Total: 39/9191/9230
Version: 3.3.1
Full version: 3.3.1-15584-g2f9ed0576e
Comment: -Cparmv7 -Cfvfpv2 -Caeabihf -XR/home/muller/sys-root/arm-linux-gnueabihf -Xd -Xr/home/muller/sys-root/arm-linux-gnueabihf
Machine: cfarm14
Category: 1
SVN revisions: 2f9ed0576e:8b7dbb81b1:3f8bbd3b00:2f9ed0576e
Submitter: muller
Date: 2024/04/19 11:31:00 <> 2024/04/18
Previous run: 934314
Next run: 935648

Hide skipped tests

Hide successful tests

Test file "tbs/tb0485.pp" information:

t_id 1490
t_adddate 2005/02/11
t_result 0
t_knownrunerror 0

Detailed test run results:

tr_idruntr_oktr_skiptr_result
443792945934988TrueFalseSuccessfully run

Record count: 1

No log of 934988.

Source:

{$mode objfpc}
program test05;

uses
  SysUtils;


type
         QObjectH = class(TObject) end;
                QWidgetH = class(QObjectH) end;


IQbase = interface(IUnknown)
end;

TQBase = class(TInterfacedObject,IQBase)
protected
  fQHandle : TObject;
  function GetQHandle : TObject;
  procedure SetQHandle(Value : TObject);
public
  property QHandle : TObject read GetQHandle write SetQHandle;
end;



IQObject = interface(IQBase)
  function GetQHandle : QObjectH;
  property QHandle : QObjectH read GetQHandle;
end;


TQObject = class(TQBase, IQObject)
protected
  function GetQHandle : QObjectH; overload;
  procedure SetQHandle(Value:QObjectH);

public
  property QHandle : QObjectH read GetQHandle write SetQHandle;
  constructor CreateWrapper;
  Constructor Create(name: PAnsiChar); overload;
end;


IQWidget = interface(IQObject)
  function GetQHandle : QWidgetH;
  property QHandle : QWidgetH read GetQHandle;
  function Width: Integer;
end;


TQWidget = class(TQObject, IQWidget)
protected
  function GetQHandle : QWidgetH; overload;
  procedure SetQHandle(Value:QWidgetH);
public
  property QHandle : QWidgetH read GetQHandle write SetQHandle;
  constructor CreateWrapper;
  Constructor Create(name: PAnsiChar); overload;
  function Width: Integer;
end;


function TQObject.GetQHandle : QObjectH;
begin
  if Self <> nil then Result := QObjectH(fQHandle)
  else Result := nil;
end;

procedure TQObject.SetQHandle(Value : QObjectH);
begin
  fQHandle := TObject(Value);
end;

constructor TQObject.CreateWrapper;
begin
  inherited Create;
end;



Constructor TQObject.Create(name: PAnsiChar);
begin
   CreateWrapper;
end;



function TQBase.GetQHandle : TObject;
begin
  Result := fQHandle
end;


procedure TQBase.SetQHandle(Value : TObject);
begin
  fQHandle:=Value;
end;



function TQWidget.GetQHandle : QWidgetH;
begin
  write('    entering TQWidget.GetQHandle ...');
  if Self <> nil then Result := QWidgetH(fQHandle)
  else Result := nil;
  writeln('...leaving entering TQWidget.GetQHandle');
end;

procedure TQWidget.SetQHandle(Value : QWidgetH);
begin
  fQHandle := TObject(Value);
end;

constructor TQWidget.CreateWrapper;
begin
  write('    entering TQWidget.CreateWrapper ...');
  inherited Create;
  writeln('...leaving TQWidget.CreateWrapper');
end;



Constructor TQWidget.Create(name: PAnsiChar);
begin
  write('entering TQWidget.Create ...');
  CreateWrapper;
  writeln('... leaving TQWidget.Create');
end;



function TQWidget.Width: Integer;
begin
  write('    entering TQWidget.Width...');
  Result:=123;
  writeln('...leaving TQWidget.Width');
end;



function GetWidget : IQWidget;
begin
Result := TQWidget.CreateWrapper;
end;


begin
writeln('GetWidget.Width (123)?:',GetWidget.Width);
if GetWidget.Width<>123 then
  begin
  	writeln('error');
  	halt(1);
  end;
end.

Link to SVN view of tbs/tb0485.pp source.