1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- uses
- erroru;
- {$ifdef HASOUT}
- type
- tr1 = record
- l1,l2 : longint;
- end;
- procedure p1(out b : byte);
- begin
- if b<>0 then
- do_error(1001);
- b:=$aa;
- end;
- procedure p2(out w : word);
- begin
- if w<>0 then
- do_error(1002);
- w:=$aaaa;
- end;
- procedure p3(out d : dword);
- begin
- if d<>0 then
- do_error(1003);
- d:=$aaaaaaaa;
- end;
- procedure p4(out r : tr1);
- begin
- if r.l1<>0 then
- do_error(1004);
- if r.l2<>0 then
- do_error(1005);
- r.l1:=$aaaaaaaa;
- r.l2:=$aaaaaaaa;
- end;
- procedure p5(out a : ansistring);
- begin
- if a<>'' then
- do_error(1000);
- a:='Now it''s another ansistring';
- end;
- var
- b : byte;
- w : word;
- d : dword;
- r1 : tr1;
- a : ansistring;
- begin
- b:=$ff;
- w:=$ffff;
- d:=$ffffffff;
- a:='An ansistring';
- r1.l1:=$ffffffff;
- r1.l2:=$ffffffff;
- p1(b);
- if b<>$aa then
- do_error(1100);
- p2(w);
- if w<>$aaaa then
- do_error(1101);
- p3(d);
- if d<>$aaaaaaaa then
- do_error(1102);
- p4(r1);
- if r1.l1<>$aaaaaaaa then
- do_error(1103);
- if r1.l2<>$aaaaaaaa then
- do_error(1104);
- p5(a);
- if a<>'Now it''s another ansistring' then
- do_error(1105);
- end.
- {$else}
- begin
- Writeln('No out parameter support');
- end.
- {$endif HASOUT}
|