taddr.pp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. {****************************************************************}
  2. { CODE GENERATOR TEST PROGRAM }
  3. {****************************************************************}
  4. { NODE TESTED : secondaddr() }
  5. {****************************************************************}
  6. { PRE-REQUISITES: secondload() }
  7. { secondassign() }
  8. { secondcalln() }
  9. {****************************************************************}
  10. { DEFINES: }
  11. {****************************************************************}
  12. { REMARKS: }
  13. {****************************************************************}
  14. program taddr;
  15. procedure testprocvar;
  16. begin
  17. WriteLn('Hello world!');
  18. end;
  19. type
  20. tmyobj = object
  21. procedure writeit;
  22. end;
  23. procedure tmyobj.writeit;
  24. begin
  25. WriteLn('Salutations!');
  26. end;
  27. const
  28. chararray : array[0..7] of char =
  29. ('A',
  30. 'B',
  31. 'C',
  32. 'D',
  33. 'E',
  34. 'F',
  35. 'G',
  36. #0
  37. );
  38. var
  39. procptr: procedure;
  40. pcharptr : pchar;
  41. plongint : ^longint;
  42. long: longint;
  43. ptr: pointer;
  44. begin
  45. { Test procedure variable }
  46. procptr:={$ifdef FPC}@{$endif}testprocvar;
  47. Write('Value should be ''Hello world!''...');
  48. procptr;
  49. { Test normal variable }
  50. pcharptr := @chararray;
  51. Inc(pcharptr,2);
  52. Write('Value should be ''CDEFG''...');
  53. WriteLn(pcharptr);
  54. long := $F0F0;
  55. plongint := @long;
  56. Write('Value should be 61680...');
  57. WriteLn(plongint^);
  58. { Test method pointers }
  59. { PROCVARLOAD = TRUE testing }
  60. { Write('Value should be ''Salutations!''...');}
  61. ptr:[email protected];
  62. { ptr;}
  63. end.
  64. {
  65. $Log$
  66. Revision 1.1 2001-06-30 02:00:30 carl
  67. + secondaddr() testing
  68. }