tprop.pp 813 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. {$ifdef fpc}
  2. {$mode delphi}
  3. {$endif}
  4. uses
  5. variants;
  6. type
  7. tdynarr = array of byte;
  8. tc = class
  9. private
  10. fda: tdynarr;
  11. fva: variant;
  12. public
  13. property da: tdynarr read fda write fda;
  14. property va: variant read fva write fva;
  15. end;
  16. var
  17. c: tc;
  18. v: variant;
  19. d: tdynarr;
  20. begin
  21. c:=tc.create;
  22. v:=5;
  23. c.va:=v;
  24. if (c.fva <> 5) then
  25. halt(1);
  26. v:='abc';
  27. v:=c.va;
  28. if (v <> 5) then
  29. halt(2);
  30. setlength(d,4);
  31. d[0]:=245;
  32. d[1]:=1;
  33. d[2]:=38;
  34. d[3]:=115;
  35. c.da:=d;
  36. if (length(c.fda)<>4) or
  37. (c.fda[0]<>245) or
  38. (c.fda[1]<>1) or
  39. (c.fda[2]<>38) or
  40. (c.fda[3]<>115) then
  41. halt(3);
  42. d:=nil;
  43. d:=c.da;
  44. c.fda:=nil;
  45. if (length(d)<>4) or
  46. (d[0]<>245) or
  47. (d[1]<>1) or
  48. (d[2]<>38) or
  49. (d[3]<>115) then
  50. halt(4);
  51. c.free;
  52. end.