t_id
18
t_adddate
2003/10/03
t_result
210
t_knownrunerror
0
tr_id | run | tr_ok | tr_skip | tr_result |
---|---|---|---|---|
-834027523 | 725377 | True | False | Successfully run |
Record count: 1
{ %RESULT=210 } {$R+} {$mode objfpc} program test_fail; type parrayobj = ^tarraycla; tarraycla = class ar : array [1..4] of real; constructor create(do_fail : boolean); procedure test;virtual; destructor done;virtual; end; pbigarrayobj = ^tbigarraycla; tbigarraycla = class(tarraycla) ar2 : array [1..10000] of real; constructor good_init; constructor wrong_init; procedure test;virtual; end; var ta1, ta2 : tarraycla; availmem : longint; constructor tarraycla.create(do_fail : boolean); begin ar[1]:=1; if do_fail then fail; ar[2]:=2; end; destructor tarraycla.done; begin end; procedure tarraycla.test; begin if ar[1]=1 then Writeln('Init called'); if ar[2]=2 then Writeln('Init successful'); end; constructor tbigarraycla.good_init; begin inherited create(false); Writeln('End of tbigarraycla.good_init'); end; constructor tbigarraycla.wrong_init; begin inherited create(true); Writeln('End of tbigarraycla.wrong_init'); end; procedure tbigarraycla.test; begin Writeln('tbigarraycla.test called'); Inherited test; end; begin availmem:=memavail; ta1:=tarraycla.create(false); writeln('Call to ta1.test after successful init'); ta1.test; ta2:=tarraycla.create(true); writeln('ta2 = ',longint(ta2),' after unsuccessful init'); Writeln('Trying to call ta2.test (should generate a Run Time Error)'); ta2.test; end.