t_id
495
t_adddate
2003/10/03
t_result
0
t_knownrunerror
0
Record count: 50
Total = 50
OK=50 Percentage= 100.00
Result type | Cat. | Count | Percentage | First date | Last Date |
Successfully run | 50 | 100.0 | 2024/05/20 10:48:00 38 | 2024/05/20 22:58:00 148 | |
i386 | 13 | 26.0 | 2024/05/20 16:23:00 44 | 2024/05/20 22:37:00 176 | |
m68k | 1 | 2.0 | 2024/05/20 22:44:00 190 | 2024/05/20 22:44:00 190 | |
arm | 1 | 2.0 | 2024/05/20 22:30:00 59 | 2024/05/20 22:30:00 59 | |
x86_64 | 13 | 26.0 | 2024/05/20 13:38:00 23 | 2024/05/20 19:35:00 26 | |
mips | 3 | 6.0 | 2024/05/20 12:35:00 35 | 2024/05/20 22:51:00 240 | |
mipsel | 1 | 2.0 | 2024/05/20 22:58:00 148 | 2024/05/20 22:58:00 148 | |
aarch64 | 18 | 36.0 | 2024/05/20 10:48:00 38 | 2024/05/20 22:24:00 44 | |
linux | 13 | 26.0 | 2024/05/20 10:48:00 38 | 2024/05/20 22:58:00 148 | |
solaris | 12 | 24.0 | 2024/05/20 16:23:00 44 | 2024/05/20 17:30:00 45 | |
darwin | 12 | 24.0 | 2024/05/20 16:20:00 32 | 2024/05/20 17:50:00 56 | |
win64 | 13 | 26.0 | 2024/05/20 13:38:00 23 | 2024/05/20 19:35:00 26 | |
3.3.1 | 8 | 16.0 | 2024/05/20 12:35:00 35 | 2024/05/20 19:35:00 26 | |
3.2.2 | 12 | 24.0 | 2024/05/20 16:23:00 44 | 2024/05/20 17:30:00 45 | |
3.2.3 | 30 | 60.0 | 2024/05/20 10:48:00 38 | 2024/05/20 22:58:00 148 |
{ Old file: tbs0312.pp } { Again the problem of local procs inside methods } { Program that showss a problem if Self is not reloaded in %esi register at entry in local procedure inside method } uses objects; type {$ifndef FPC} sw_integer = integer; {$endif not FPC} PMYObj = ^TMyObj; TMyObj = Object(TObject) x : longint; Constructor Init(ax : longint); procedure display;virtual; end; PMYObj2 = ^TMyObj2; TMyObj2 = Object(TMyObj) y : longint; Constructor Init(ax,ay : longint); procedure display;virtual; end; PMyCollection = ^TMyCollection; TMyCollection = Object(TCollection) function At(I : sw_integer) : PMyObj; procedure DummyThatShouldNotBeCalled;virtual; end; { TMy is also a TCollection so that ShowMy and DummyThatShouldNotBeCalled are at same position in VMT } TMy = Object(TCollection) Col : PMyCollection; MyObj : PMyObj; ShowMyCalled : boolean; constructor Init; destructor Done;virtual; procedure ShowAll; procedure AddMyObj(x : longint); procedure AddMyObj2(x,y : longint); procedure ShowMy;virtual; end; Constructor TMyObj.Init(ax : longint); begin Inherited Init; x:=ax; end; Procedure TMyObj.Display; begin Writeln('x = ',x); end; Constructor TMyObj2.Init(ax,ay : longint); begin Inherited Init(ax); y:=ay; end; Procedure TMyObj2.Display; begin Writeln('x = ',x,' y = ',y); end; Function TMyCollection.At(I : sw_integer) : PMyObj; begin At:=Inherited At(I); end; Procedure TMyCollection.DummyThatShouldNotBeCalled; begin Writeln('This method should never be called'); Abstract; end; Constructor TMy.Init; begin New(Col,Init(5,5)); MyObj:=nil; ShowMyCalled:=false; end; Destructor TMy.Done; begin Dispose(Col,Done); Inherited Done; end; Procedure TMy.ShowAll; procedure ShowIt(P : pointer);{$ifdef TP}far;{$endif} begin ShowMy; PMyObj(P)^.Display; end; begin Col^.ForEach(@ShowIt); end; Procedure TMy.ShowMy; begin if assigned(MyObj) then MyObj^.Display; ShowMyCalled:=true; end; Procedure TMy.AddMyObj(x : longint); begin MyObj:=New(PMyObj,Init(x)); Col^.Insert(MyObj); end; Procedure TMy.AddMyObj2(x,y : longint); begin MyObj:=New(PMyObj2,Init(x,y)); Col^.Insert(MyObj); end; var My : TMy; begin My.Init; My.AddMyObj(5); My.AddMyObj2(4,3); My.AddMyObj(43); { MyObj field is now a PMyObj with value 43 } My.ShowAll; If not My.ShowMyCalled then begin Writeln('ShowAll does not work correctly'); Halt(1); end; My.Done; end.