t_id
395
t_adddate
2003/10/03
t_result
0
t_knownrunerror
0
t_opts
-St -Cr
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/09/26 18:42:00 90 | 2024/09/26 23:02:00 44 | |
i386 | 4 | 8.0 | 2024/09/26 19:54:00 70 | 2024/09/26 22:38:00 79 | |
powerpc | 14 | 28.0 | 2024/09/26 19:41:00 35 | 2024/09/26 23:02:00 44 | |
powerpc64 | 17 | 34.0 | 2024/09/26 18:42:00 90 | 2024/09/26 22:29:00 103 | |
wasm32 | 7 | 14.0 | 2024/09/26 19:31:00 339 | 2024/09/26 22:50:00 299 | |
riscv64 | 8 | 16.0 | 2024/09/26 19:14:00 123 | 2024/09/26 19:59:00 123 | |
linux | 39 | 78.0 | 2024/09/26 18:42:00 90 | 2024/09/26 23:02:00 44 | |
go32v2 | 4 | 8.0 | 2024/09/26 19:54:00 70 | 2024/09/26 22:38:00 79 | |
wasi | 7 | 14.0 | 2024/09/26 19:31:00 339 | 2024/09/26 22:50:00 299 | |
3.3.1 | 34 | 68.0 | 2024/09/26 18:42:00 90 | 2024/09/26 22:50:00 299 | |
3.2.3 | 16 | 32.0 | 2024/09/26 21:17:00 71 | 2024/09/26 23:02:00 44 |
{ %OPT=-St -Cr } { Old file: tbs0187.pp } { constructor in a WIth statement isn't called correct. (works at lest in the case stated) OK 0.99.11 (PM) } {$static on} type Tbaseclass = object base_arg : longint; st_count : longint;static; constructor Init; destructor Done; procedure Run; virtual; end; Totherclass = object(Tbaseclass) other_arg : longint; procedure Run; virtual; end; const BaseRunCount : integer = 0; OtherRunCount : integer = 0; constructor Tbaseclass.Init; begin writeln('Init'); Inc(st_count); Run; end; destructor Tbaseclass.Done; begin writeln('Done'); dec(st_count); end; procedure Tbaseclass.Run; begin writeln('Base method'); inc(BaseRunCount); end; procedure Totherclass.Run; begin writeln('Inherited method'); inc(OtherRunCount); end; { try this as local vars } procedure test_local_class_init; var base1 : TbaseClass; var other1 : TOtherClass; begin with other1 do Init; with base1 do Init; with other1 do begin Writeln('number of objects = ',st_count); base_arg:=2; other_arg:=6; Run; end; { test if changed !! } if (other1.base_arg<>2) or (other1.other_arg<>6) then Halt(1); with base1 do begin Run; Done; end; other1.done; end; var base : Tbaseclass; other : Totherclass; testfield : longint; begin // Uncommenting here and commenting the init in the WIth solves it. // Base.Init; with base do begin Init; Run; Done; end; // Uncommenting here and commenting the init in the WIth solves it. // Other.init; with other do begin Init; Run; Done; end; test_local_class_init; { Calls Tbaseclass.Run when it should call Totherclass.Run } If (BaseRunCount<>4) or (OtherRunCount<>4) then Begin Writeln('Error in tb162'); Halt(1); End; end.