tb0258.pp 727 B

123456789101112131415161718192021222324252627282930313233
  1. { Old file: tbs0299.pp }
  2. { passing Array[0..1] of char by value to proc leads to problems OK 0.99.13 (PM)
  3. passing Array[0..1] of char by value to proc leads to problems }
  4. type
  5. TwoChar = Array[0..1] of char;
  6. Empty = Record
  7. End;
  8. const
  9. asd : TwoChar = ('a','b');
  10. procedure Tester(i:TwoChar; a: Empty;l : longint;var ll : longint);
  11. begin
  12. i[0]:=i[1];
  13. Writeln('l = ',l,' @l = ',hexstr(longint(@l),8),' @a = ',hexstr(longint(@a),8));
  14. inc(ll);
  15. end;
  16. var
  17. a : Empty;
  18. l,ll : longint;
  19. begin
  20. l:=6;
  21. ll:=15;
  22. Writeln(Sizeof(asd));
  23. Tester(asd,a,l,ll);
  24. Writeln(asd);
  25. if (ll<>16) then
  26. Begin
  27. Writeln('Error with passing value parameter of type array [1..2] of char');
  28. Halt(1);
  29. end;
  30. end.