DragDrop.inc 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. // -----------------------------------------------------------------------------
  2. // Project: Drag and Drop Component Suite
  3. // Module: DragDrop.inc
  4. // Description: This include file contains common defines used by the
  5. // library.
  6. // Authors: Anders Melander, anders@melander.dk, http://www.melander.dk
  7. // Copyright © 1997-2000 Angus Johnson & Anders Melander
  8. // -----------------------------------------------------------------------------
  9. // -----------------------------------------------------------------------------
  10. // Detect compiler version
  11. // -----------------------------------------------------------------------------
  12. // Delphi 1.x
  13. {$IFDEF VER80}
  14. {$DEFINE VER8_PLUS}
  15. {$DEFINE VER_OK}
  16. {$ENDIF}
  17. // Delphi 2.x
  18. {$IFDEF VER90}
  19. {$DEFINE VER9x}
  20. {$DEFINE VER9_PLUS}
  21. {$DEFINE VER_OK}
  22. {$ENDIF}
  23. // C++ Builder 1.x
  24. {$IFDEF VER93}
  25. {$DEFINE VER9x}
  26. {$DEFINE VER93_PLUS}
  27. {$DEFINE VER_OK}
  28. {$ENDIF}
  29. // Delphi 3.x
  30. {$IFDEF VER100}
  31. {$DEFINE VER10_PLUS}
  32. {$DEFINE VER_OK}
  33. {$ENDIF}
  34. // C++ Builder 3.x
  35. {$IFDEF VER110}
  36. {$DEFINE VER11_PLUS}
  37. {$DEFINE VER_OK}
  38. {$ENDIF}
  39. // Delphi 4.x
  40. {$IFDEF VER120}
  41. {$DEFINE VER12_PLUS}
  42. {$DEFINE VER_OK}
  43. {$ENDIF}
  44. // C++ Builder 4.x
  45. {$IFDEF VER125}
  46. {$DEFINE VER125_PLUS}
  47. {$DEFINE VER_OK}
  48. {$ENDIF}
  49. // Delphi 5.x
  50. {$IFDEF VER130}
  51. {$DEFINE VER13_PLUS}
  52. {$DEFINE VER_OK}
  53. {$ENDIF}
  54. // C++ Builder 5.x - Not verified!
  55. {$IFDEF VER130}
  56. {$IFDEF BCB}
  57. {$DEFINE VER135_PLUS}
  58. {$DEFINE VER_OK}
  59. {$ENDIF}
  60. {$ENDIF}
  61. // Delphi 6.x
  62. {$IFDEF VER140}
  63. {$DEFINE VER14_PLUS}
  64. {$DEFINE VER_OK}
  65. {$ENDIF}
  66. // Unknown compiler version - assume D6 compatible
  67. {$IFNDEF VER_OK}
  68. {$DEFINE VER14_PLUS}
  69. {$ELSE}
  70. {$UNDEF VER_OK}
  71. {$ENDIF}
  72. {$IFDEF VER14_PLUS}
  73. {$DEFINE VER135_PLUS}
  74. {$ENDIF}
  75. {$IFDEF VER135_PLUS}
  76. {$DEFINE VER13_PLUS}
  77. {$ENDIF}
  78. {$IFDEF VER13_PLUS}
  79. {$DEFINE VER125_PLUS}
  80. {$ENDIF}
  81. {$IFDEF VER125_PLUS}
  82. {$DEFINE VER12_PLUS}
  83. {$ENDIF}
  84. {$IFDEF VER12_PLUS}
  85. {$DEFINE VER11_PLUS}
  86. {$ENDIF}
  87. {$IFDEF VER11_PLUS}
  88. {$DEFINE VER10_PLUS}
  89. {$ENDIF}
  90. {$IFDEF VER10_PLUS}
  91. {$DEFINE VER93_PLUS}
  92. {$ENDIF}
  93. {$IFDEF VER93_PLUS}
  94. {$DEFINE VER9_PLUS}
  95. {$ENDIF}
  96. {$IFDEF VER9_PLUS}
  97. {$DEFINE VER8_PLUS}
  98. {$ENDIF}
  99. // -----------------------------------------------------------------------------
  100. // Required compiler directives
  101. // -----------------------------------------------------------------------------
  102. {$BOOLEVAL OFF} // Short circuit boolean evaluation.
  103. {$EXTENDEDSYNTAX ON} // Enable Delphi Pascal extensions.
  104. {$LONGSTRINGS ON} // String = AnsiString.
  105. {$ALIGN ON} // Aligned data. Required by COM.
  106. {$ifdef BCB}
  107. {$ObjExportAll ON} // Required for C++ Builder
  108. {$endif}
  109. // The following are not realy nescessary, but they are good practice.
  110. {$TYPEDADDRESS ON} // @ operator returns typed pointer.
  111. {$WRITEABLECONST OFF} // Typed consts are R/O.
  112. // Disable platform warnings. This library is only supported on Windows.
  113. {$ifdef VER14_PLUS}
  114. {$WARN SYMBOL_PLATFORM OFF}
  115. {$endif}