CnPack.inc 23 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205
  1. {******************************************************************************}
  2. { CnPack For Delphi/C++Builder }
  3. { 中国人自己的开放源码第三方开发包 }
  4. { (C)Copyright 2001-2011 CnPack 开发组 }
  5. { ------------------------------------ }
  6. { }
  7. { 本开发包是开源的自由软件,您可以遵照 CnPack 的发布协议来修 }
  8. { 改和重新发布这一程序。 }
  9. { }
  10. { 发布这一开发包的目的是希望它有用,但没有任何担保。甚至没有 }
  11. { 适合特定目的而隐含的担保。更详细的情况请参阅 CnPack 发布协议。 }
  12. { }
  13. { 您应该已经和开发包一起收到一份 CnPack 发布协议的副本。如果 }
  14. { 还没有,可访问我们的网站: }
  15. { }
  16. { 网站地址:http://www.cnpack.org }
  17. { 电子邮件:master@cnpack.org }
  18. { }
  19. {******************************************************************************}
  20. {******************************************************************************}
  21. { }
  22. { 备注:该单元为公共编译指令和编译器版本信息包含文件 }
  23. { 该单元的内容参考了 JCL 和 GExperts }
  24. { }
  25. {******************************************************************************}
  26. //==============================================================================
  27. // 功能配置选项
  28. //==============================================================================
  29. //{$DEFINE PERSONAL_EDITION}
  30. {$DEFINE ENTERPRISE_EDITION}
  31. {$IFNDEF PERSONAL_EDITION}
  32. {$DEFINE SUPPORT_DB}
  33. {$DEFINE SUPPORT_ADO}
  34. {$ENDIF}
  35. //==============================================================================
  36. // 产生编译器版本信息
  37. //==============================================================================
  38. {$IFDEF VER230}
  39. {$DEFINE COMPILER16}
  40. {$IFDEF LINUX}
  41. {$DEFINE UCL10}
  42. {$ELSE}
  43. {$DEFINE VCL71}
  44. {$ENDIF}
  45. {$DEFINE DELPHI16}
  46. {$DEFINE DELPHIXE2}
  47. {$DEFINE DELPHI2012}
  48. {$DEFINE BCB16}
  49. {$DEFINE BCBXE2}
  50. {$DEFINE BCB2012}
  51. {$DEFINE BDS9}
  52. {$DEFINE BDS2012}
  53. {$ENDIF}
  54. {$IFDEF VER220}
  55. {$DEFINE COMPILER15}
  56. {$IFDEF LINUX}
  57. {$DEFINE UCL10}
  58. {$ELSE}
  59. {$DEFINE VCL71}
  60. {$ENDIF}
  61. {$DEFINE DELPHI15}
  62. {$DEFINE DELPHIXE}
  63. {$DEFINE DELPHI2011}
  64. {$DEFINE BCB15}
  65. {$DEFINE BCBXE}
  66. {$DEFINE BCB2011}
  67. {$DEFINE BDS8}
  68. {$DEFINE BDS2011}
  69. {$ENDIF}
  70. {$IFDEF VER210}
  71. {$DEFINE COMPILER14}
  72. {$DEFINE VCL71}
  73. {$DEFINE DELPHI14}
  74. {$DEFINE DELPHI2010}
  75. {$DEFINE BCB14}
  76. {$DEFINE BCB2010}
  77. {$DEFINE BDS7}
  78. {$DEFINE BDS2010}
  79. {$ENDIF}
  80. {$IFDEF VER200}
  81. {$DEFINE COMPILER12}
  82. {$DEFINE VCL71}
  83. {$DEFINE DELPHI12}
  84. {$DEFINE DELPHI2009}
  85. {$DEFINE BCB12}
  86. {$DEFINE BCB2009}
  87. {$DEFINE BDS6}
  88. {$DEFINE BDS2009}
  89. {$ENDIF}
  90. {$IFDEF VER185}
  91. {$DEFINE COMPILER11}
  92. {$DEFINE VCL71}
  93. {$DEFINE DELPHI11}
  94. {$DEFINE DELPHI2007}
  95. {$DEFINE BCB11}
  96. {$DEFINE BCB2007}
  97. {$DEFINE BDS5}
  98. {$DEFINE BDS2007}
  99. {$UNDEF VER180}
  100. {$ENDIF}
  101. {$IFDEF VER180}
  102. {$DEFINE COMPILER10}
  103. {$DEFINE VCL71}
  104. {$DEFINE DELPHI10}
  105. {$DEFINE DELPHI2006}
  106. {$DEFINE BCB10}
  107. {$DEFINE BCB2006}
  108. {$DEFINE BDS4}
  109. {$DEFINE BDS2006}
  110. {$ENDIF}
  111. {$IFDEF VER170}
  112. {$DEFINE COMPILER9}
  113. {$DEFINE VCL71}
  114. {$DEFINE DELPHI9}
  115. {$DEFINE DELPHI2005}
  116. {$DEFINE BDS3}
  117. {$DEFINE BDS2005}
  118. {$ENDIF}
  119. {$IFDEF VER160}
  120. {$DEFINE COMPILER8}
  121. {$DEFINE VCL71}
  122. {$DEFINE DELPHI8}
  123. {$DEFINE BDS2}
  124. {$ENDIF}
  125. {$IFDEF VER150}
  126. {$DEFINE COMPILER7}
  127. {$IFDEF LINUX}
  128. {$DEFINE CLX10}
  129. {$ELSE}
  130. {$DEFINE VCL70}
  131. {$DEFINE CLX10}
  132. {$IFDEF BCB}
  133. {$DEFINE BCB7}
  134. {$ELSE}
  135. {$DEFINE DELPHI7}
  136. {$ENDIF}
  137. {$ENDIF}
  138. {$ENDIF}
  139. {$IFDEF VER140}
  140. {$DEFINE COMPILER6}
  141. {$IFDEF LINUX}
  142. {$DEFINE CLX10}
  143. {$IFDEF CONDITIONALEXPRESSIONS}
  144. {$IFDEF CompilerVersion}
  145. {$IF System.RTLVersion = 14.1}
  146. {$DEFINE KYLIX2}
  147. {$IFEND}
  148. {$IF System.RTLVersion = 14.5}
  149. {$DEFINE KYLIX3}
  150. {$IFEND}
  151. {$ELSE}
  152. {$DEFINE KYLIX1}
  153. {$ENDIF}
  154. {$ENDIF}
  155. {$ELSE}
  156. {$DEFINE VCL60}
  157. {$DEFINE CLX10}
  158. {$IFDEF BCB}
  159. {$DEFINE BCB6}
  160. {$ELSE}
  161. {$DEFINE DELPHI6}
  162. {$ENDIF}
  163. {$ENDIF}
  164. {$ENDIF}
  165. {$IFDEF VER130}
  166. {$DEFINE COMPILER5}
  167. {$DEFINE VCL50}
  168. {$IFDEF BCB}
  169. {$DEFINE BCB5}
  170. {$ELSE}
  171. {$DEFINE DELPHI5}
  172. {$ENDIF}
  173. {$ENDIF}
  174. {$IFDEF VER125}
  175. {$DEFINE COMPILER4}
  176. {$DEFINE VCL40}
  177. {$DEFINE BCB4}
  178. {$ENDIF}
  179. {$IFDEF VER120}
  180. {$DEFINE COMPILER4}
  181. {$DEFINE VCL40}
  182. {$DEFINE DELPHI4}
  183. {$ENDIF}
  184. {$IFDEF VER110}
  185. {$DEFINE COMPILER35}
  186. {$DEFINE VCL30}
  187. {$DEFINE BCB3}
  188. {$ENDIF}
  189. {$IFDEF VER100}
  190. {$DEFINE COMPILER3}
  191. {$DEFINE VCL30}
  192. {$DEFINE DELPHI3}
  193. {$ENDIF}
  194. {$IFDEF VER93}
  195. {$DEFINE COMPILER2}
  196. {$DEFINE VCL20}
  197. {$DEFINE BCB1}
  198. {$ENDIF}
  199. {$IFDEF VER90}
  200. {$DEFINE COMPILER2}
  201. {$DEFINE VCL20}
  202. {$DEFINE DELPHI2}
  203. {$ENDIF}
  204. {$IFDEF VER80}
  205. {$DEFINE COMPILER1}
  206. {$DEFINE VCL10}
  207. {$DEFINE DELPHI1}
  208. {$ENDIF}
  209. // DELPHIX_UP from DELPHIX mappings
  210. {$IFDEF DELPHI16}
  211. {$DEFINE DELPHI}
  212. {$DEFINE DELPHI16_UP}
  213. {$DEFINE DELPHI15_UP}
  214. {$DEFINE DELPHI14_UP}
  215. {$DEFINE DELPHI12_UP}
  216. {$DEFINE DELPHI11_UP}
  217. {$DEFINE DELPHI10_UP}
  218. {$DEFINE DELPHI9_UP}
  219. {$DEFINE DELPHI8_UP}
  220. {$DEFINE DELPHI7_UP}
  221. {$DEFINE DELPHI6_UP}
  222. {$DEFINE DELPHI5_UP}
  223. {$DEFINE DELPHI4_UP}
  224. {$DEFINE DELPHI3_UP}
  225. {$DEFINE DELPHI2_UP}
  226. {$DEFINE DELPHI1_UP}
  227. {$ENDIF}
  228. {$IFDEF DELPHIXE2}
  229. {$DEFINE DELPHIXE2_UP}
  230. {$DEFINE DELPHIXE_UP}
  231. {$ENDIF}
  232. {$IFDEF DELPHI2012}
  233. {$DEFINE DELPHI2012_UP}
  234. {$DEFINE DELPHI2011_UP}
  235. {$DEFINE DELPHI2010_UP}
  236. {$DEFINE DELPHI2009_UP}
  237. {$DEFINE DELPHI2007_UP}
  238. {$DEFINE DELPHI2006_UP}
  239. {$DEFINE DELPHI2005_UP}
  240. {$ENDIF}
  241. {$IFDEF DELPHI15}
  242. {$DEFINE DELPHI}
  243. {$DEFINE DELPHI15_UP}
  244. {$DEFINE DELPHI14_UP}
  245. {$DEFINE DELPHI12_UP}
  246. {$DEFINE DELPHI11_UP}
  247. {$DEFINE DELPHI10_UP}
  248. {$DEFINE DELPHI9_UP}
  249. {$DEFINE DELPHI8_UP}
  250. {$DEFINE DELPHI7_UP}
  251. {$DEFINE DELPHI6_UP}
  252. {$DEFINE DELPHI5_UP}
  253. {$DEFINE DELPHI4_UP}
  254. {$DEFINE DELPHI3_UP}
  255. {$DEFINE DELPHI2_UP}
  256. {$DEFINE DELPHI1_UP}
  257. {$ENDIF}
  258. {$IFDEF DELPHIXE}
  259. {$DEFINE DELPHIXE_UP}
  260. {$ENDIF}
  261. {$IFDEF DELPHI2011}
  262. {$DEFINE DELPHI2011_UP}
  263. {$DEFINE DELPHI2010_UP}
  264. {$DEFINE DELPHI2009_UP}
  265. {$DEFINE DELPHI2007_UP}
  266. {$DEFINE DELPHI2006_UP}
  267. {$DEFINE DELPHI2005_UP}
  268. {$ENDIF}
  269. {$IFDEF DELPHI14}
  270. {$DEFINE DELPHI}
  271. {$DEFINE DELPHI14_UP}
  272. {$DEFINE DELPHI12_UP}
  273. {$DEFINE DELPHI11_UP}
  274. {$DEFINE DELPHI10_UP}
  275. {$DEFINE DELPHI9_UP}
  276. {$DEFINE DELPHI8_UP}
  277. {$DEFINE DELPHI7_UP}
  278. {$DEFINE DELPHI6_UP}
  279. {$DEFINE DELPHI5_UP}
  280. {$DEFINE DELPHI4_UP}
  281. {$DEFINE DELPHI3_UP}
  282. {$DEFINE DELPHI2_UP}
  283. {$DEFINE DELPHI1_UP}
  284. {$ENDIF}
  285. {$IFDEF DELPHI2010}
  286. {$DEFINE DELPHI2010_UP}
  287. {$DEFINE DELPHI2009_UP}
  288. {$DEFINE DELPHI2007_UP}
  289. {$DEFINE DELPHI2006_UP}
  290. {$DEFINE DELPHI2005_UP}
  291. {$ENDIF}
  292. {$IFDEF DELPHI12}
  293. {$DEFINE DELPHI}
  294. {$DEFINE DELPHI12_UP}
  295. {$DEFINE DELPHI11_UP}
  296. {$DEFINE DELPHI10_UP}
  297. {$DEFINE DELPHI9_UP}
  298. {$DEFINE DELPHI8_UP}
  299. {$DEFINE DELPHI7_UP}
  300. {$DEFINE DELPHI6_UP}
  301. {$DEFINE DELPHI5_UP}
  302. {$DEFINE DELPHI4_UP}
  303. {$DEFINE DELPHI3_UP}
  304. {$DEFINE DELPHI2_UP}
  305. {$DEFINE DELPHI1_UP}
  306. {$ENDIF}
  307. {$IFDEF DELPHI2009}
  308. {$DEFINE DELPHI2009_UP}
  309. {$DEFINE DELPHI2007_UP}
  310. {$DEFINE DELPHI2006_UP}
  311. {$DEFINE DELPHI2005_UP}
  312. {$ENDIF}
  313. {$IFDEF DELPHI11}
  314. {$DEFINE DELPHI}
  315. {$DEFINE DELPHI11_UP}
  316. {$DEFINE DELPHI10_UP}
  317. {$DEFINE DELPHI9_UP}
  318. {$DEFINE DELPHI8_UP}
  319. {$DEFINE DELPHI7_UP}
  320. {$DEFINE DELPHI6_UP}
  321. {$DEFINE DELPHI5_UP}
  322. {$DEFINE DELPHI4_UP}
  323. {$DEFINE DELPHI3_UP}
  324. {$DEFINE DELPHI2_UP}
  325. {$DEFINE DELPHI1_UP}
  326. {$ENDIF}
  327. {$IFDEF DELPHI2007}
  328. {$DEFINE DELPHI2007_UP}
  329. {$DEFINE DELPHI2006_UP}
  330. {$DEFINE DELPHI2005_UP}
  331. {$ENDIF}
  332. {$IFDEF DELPHI10}
  333. {$DEFINE DELPHI}
  334. {$DEFINE DELPHI10_UP}
  335. {$DEFINE DELPHI9_UP}
  336. {$DEFINE DELPHI8_UP}
  337. {$DEFINE DELPHI7_UP}
  338. {$DEFINE DELPHI6_UP}
  339. {$DEFINE DELPHI5_UP}
  340. {$DEFINE DELPHI4_UP}
  341. {$DEFINE DELPHI3_UP}
  342. {$DEFINE DELPHI2_UP}
  343. {$DEFINE DELPHI1_UP}
  344. {$ENDIF}
  345. {$IFDEF DELPHI2006}
  346. {$DEFINE DELPHI2006_UP}
  347. {$DEFINE DELPHI2005_UP}
  348. {$ENDIF}
  349. {$IFDEF DELPHI9}
  350. {$DEFINE DELPHI}
  351. {$DEFINE DELPHI9_UP}
  352. {$DEFINE DELPHI8_UP}
  353. {$DEFINE DELPHI7_UP}
  354. {$DEFINE DELPHI6_UP}
  355. {$DEFINE DELPHI5_UP}
  356. {$DEFINE DELPHI4_UP}
  357. {$DEFINE DELPHI3_UP}
  358. {$DEFINE DELPHI2_UP}
  359. {$DEFINE DELPHI1_UP}
  360. {$ENDIF}
  361. {$IFDEF DELPHI2005}
  362. {$DEFINE DELPHI2005_UP}
  363. {$ENDIF}
  364. {$IFDEF DELPHI8}
  365. {$DEFINE DELPHI}
  366. {$DEFINE DELPHI8_UP}
  367. {$DEFINE DELPHI7_UP}
  368. {$DEFINE DELPHI6_UP}
  369. {$DEFINE DELPHI5_UP}
  370. {$DEFINE DELPHI4_UP}
  371. {$DEFINE DELPHI3_UP}
  372. {$DEFINE DELPHI2_UP}
  373. {$DEFINE DELPHI1_UP}
  374. {$ENDIF}
  375. {$IFDEF DELPHI7}
  376. {$DEFINE DELPHI}
  377. {$DEFINE DELPHI7_UP}
  378. {$DEFINE DELPHI6_UP}
  379. {$DEFINE DELPHI5_UP}
  380. {$DEFINE DELPHI4_UP}
  381. {$DEFINE DELPHI3_UP}
  382. {$DEFINE DELPHI2_UP}
  383. {$DEFINE DELPHI1_UP}
  384. {$ENDIF}
  385. {$IFDEF DELPHI6}
  386. {$DEFINE DELPHI}
  387. {$DEFINE DELPHI6_UP}
  388. {$DEFINE DELPHI5_UP}
  389. {$DEFINE DELPHI4_UP}
  390. {$DEFINE DELPHI3_UP}
  391. {$DEFINE DELPHI2_UP}
  392. {$DEFINE DELPHI1_UP}
  393. {$ENDIF}
  394. {$IFDEF DELPHI5}
  395. {$DEFINE DELPHI}
  396. {$DEFINE DELPHI5_UP}
  397. {$DEFINE DELPHI4_UP}
  398. {$DEFINE DELPHI3_UP}
  399. {$DEFINE DELPHI2_UP}
  400. {$DEFINE DELPHI1_UP}
  401. {$ENDIF}
  402. {$IFDEF DELPHI4}
  403. {$DEFINE DELPHI}
  404. {$DEFINE DELPHI4_UP}
  405. {$DEFINE DELPHI3_UP}
  406. {$DEFINE DELPHI2_UP}
  407. {$DEFINE DELPHI1_UP}
  408. {$ENDIF}
  409. {$IFDEF DELPHI3}
  410. {$DEFINE DELPHI}
  411. {$DEFINE DELPHI3_UP}
  412. {$DEFINE DELPHI2_UP}
  413. {$DEFINE DELPHI1_UP}
  414. {$ENDIF}
  415. {$IFDEF DELPHI2}
  416. {$DEFINE DELPHI}
  417. {$DEFINE DELPHI2_UP}
  418. {$DEFINE DELPHI1_UP}
  419. {$ENDIF}
  420. {$IFDEF DELPHI1}
  421. {$DEFINE DELPHI}
  422. {$DEFINE DELPHI1_UP}
  423. {$ENDIF}
  424. // BCBX_UP from BCBX mappings
  425. {$IFDEF BCB16}
  426. {$DEFINE BCB}
  427. {$DEFINE BCB16_UP}
  428. {$DEFINE BCB15_UP}
  429. {$DEFINE BCB14_UP}
  430. {$DEFINE BCB12_UP}
  431. {$DEFINE BCB11_UP}
  432. {$DEFINE BCB10_UP}
  433. {$DEFINE BCB7_UP}
  434. {$DEFINE BCB6_UP}
  435. {$DEFINE BCB5_UP}
  436. {$DEFINE BCB4_UP}
  437. {$DEFINE BCB3_UP}
  438. {$DEFINE BCB1_UP}
  439. {$ENDIF}
  440. {$IFDEF BCBXE2}
  441. {$DEFINE BCBXE2_UP}
  442. {$DEFINE BCBXE_UP}
  443. {$ENDIF}
  444. {$IFDEF BCB2012}
  445. {$DEFINE BCB2012_UP}
  446. {$DEFINE BCB2011_UP}
  447. {$DEFINE BCB2010_UP}
  448. {$DEFINE BCB2009_UP}
  449. {$DEFINE BCB2007_UP}
  450. {$DEFINE BCB2006_UP}
  451. {$ENDIF}
  452. {$IFDEF BCB15}
  453. {$DEFINE BCB}
  454. {$DEFINE BCB15_UP}
  455. {$DEFINE BCB14_UP}
  456. {$DEFINE BCB12_UP}
  457. {$DEFINE BCB11_UP}
  458. {$DEFINE BCB10_UP}
  459. {$DEFINE BCB7_UP}
  460. {$DEFINE BCB6_UP}
  461. {$DEFINE BCB5_UP}
  462. {$DEFINE BCB4_UP}
  463. {$DEFINE BCB3_UP}
  464. {$DEFINE BCB1_UP}
  465. {$ENDIF}
  466. {$IFDEF BCBXE}
  467. {$DEFINE BCBXE_UP}
  468. {$ENDIF}
  469. {$IFDEF BCB2011}
  470. {$DEFINE BCB2011_UP}
  471. {$DEFINE BCB2010_UP}
  472. {$DEFINE BCB2009_UP}
  473. {$DEFINE BCB2007_UP}
  474. {$DEFINE BCB2006_UP}
  475. {$ENDIF}
  476. {$IFDEF BCB14}
  477. {$DEFINE BCB}
  478. {$DEFINE BCB14_UP}
  479. {$DEFINE BCB12_UP}
  480. {$DEFINE BCB11_UP}
  481. {$DEFINE BCB10_UP}
  482. {$DEFINE BCB7_UP}
  483. {$DEFINE BCB6_UP}
  484. {$DEFINE BCB5_UP}
  485. {$DEFINE BCB4_UP}
  486. {$DEFINE BCB3_UP}
  487. {$DEFINE BCB1_UP}
  488. {$ENDIF}
  489. {$IFDEF BCB2010}
  490. {$DEFINE BCB2010_UP}
  491. {$DEFINE BCB2009_UP}
  492. {$DEFINE BCB2007_UP}
  493. {$DEFINE BCB2006_UP}
  494. {$ENDIF}
  495. {$IFDEF BCB12}
  496. {$DEFINE BCB}
  497. {$DEFINE BCB12_UP}
  498. {$DEFINE BCB11_UP}
  499. {$DEFINE BCB10_UP}
  500. {$DEFINE BCB7_UP}
  501. {$DEFINE BCB6_UP}
  502. {$DEFINE BCB5_UP}
  503. {$DEFINE BCB4_UP}
  504. {$DEFINE BCB3_UP}
  505. {$DEFINE BCB1_UP}
  506. {$ENDIF}
  507. {$IFDEF BCB2009}
  508. {$DEFINE BCB2009_UP}
  509. {$DEFINE BCB2007_UP}
  510. {$DEFINE BCB2006_UP}
  511. {$ENDIF}
  512. {$IFDEF BCB11}
  513. {$DEFINE BCB}
  514. {$DEFINE BCB11_UP}
  515. {$DEFINE BCB10_UP}
  516. {$DEFINE BCB7_UP}
  517. {$DEFINE BCB6_UP}
  518. {$DEFINE BCB5_UP}
  519. {$DEFINE BCB4_UP}
  520. {$DEFINE BCB3_UP}
  521. {$DEFINE BCB1_UP}
  522. {$ENDIF}
  523. {$IFDEF BCB2007}
  524. {$DEFINE BCB2007_UP}
  525. {$DEFINE BCB2006_UP}
  526. {$ENDIF}
  527. {$IFDEF BCB10}
  528. {$DEFINE BCB}
  529. {$DEFINE BCB10_UP}
  530. {$DEFINE BCB7_UP}
  531. {$DEFINE BCB6_UP}
  532. {$DEFINE BCB5_UP}
  533. {$DEFINE BCB4_UP}
  534. {$DEFINE BCB3_UP}
  535. {$DEFINE BCB1_UP}
  536. {$ENDIF}
  537. {$IFDEF BCB2006}
  538. {$DEFINE BCB2006_UP}
  539. {$ENDIF}
  540. {$IFDEF BCB7}
  541. {$DEFINE BCB}
  542. {$DEFINE BCB7_UP}
  543. {$DEFINE BCB6_UP}
  544. {$DEFINE BCB5_UP}
  545. {$DEFINE BCB4_UP}
  546. {$DEFINE BCB3_UP}
  547. {$DEFINE BCB1_UP}
  548. {$ENDIF}
  549. {$IFDEF BCB6}
  550. {$DEFINE BCB}
  551. {$DEFINE BCB6_UP}
  552. {$DEFINE BCB5_UP}
  553. {$DEFINE BCB4_UP}
  554. {$DEFINE BCB3_UP}
  555. {$DEFINE BCB1_UP}
  556. {$ENDIF}
  557. {$IFDEF BCB5}
  558. {$DEFINE BCB}
  559. {$DEFINE BCB5_UP}
  560. {$DEFINE BCB4_UP}
  561. {$DEFINE BCB3_UP}
  562. {$DEFINE BCB1_UP}
  563. {$ENDIF}
  564. {$IFDEF BCB4}
  565. {$DEFINE BCB}
  566. {$DEFINE BCB4_UP}
  567. {$DEFINE BCB3_UP}
  568. {$DEFINE BCB1_UP}
  569. {$ENDIF}
  570. {$IFDEF BCB3}
  571. {$DEFINE BCB}
  572. {$DEFINE BCB3_UP}
  573. {$DEFINE BCB1_UP}
  574. {$ENDIF}
  575. {$IFDEF BCB1}
  576. {$DEFINE BCB}
  577. {$DEFINE BCB1_UP}
  578. {$ENDIF}
  579. // KYLIXX_UP from KYLIXX mappings
  580. {$IFDEF KYLIX3}
  581. {$DEFINE KYLIX}
  582. {$DEFINE KYLIX3_UP}
  583. {$DEFINE KYLIX2_UP}
  584. {$DEFINE KYLIX1_UP}
  585. {$ENDIF}
  586. {$IFDEF KYLIX2}
  587. {$DEFINE KYLIX}
  588. {$DEFINE KYLIX2_UP}
  589. {$DEFINE KYLIX1_UP}
  590. {$ENDIF}
  591. {$IFDEF KYLIX1}
  592. {$DEFINE KYLIX}
  593. {$DEFINE KYLIX1_UP}
  594. {$ENDIF}
  595. // BDSXX_UP from BDSXX mappings
  596. {$IFDEF BDS9}
  597. {$DEFINE BDS}
  598. {$DEFINE BDS9_UP}
  599. {$DEFINE BDS8_UP}
  600. {$DEFINE BDS7_UP}
  601. {$DEFINE BDS6_UP}
  602. {$DEFINE BDS5_UP}
  603. {$DEFINE BDS4_UP}
  604. {$DEFINE BDS3_UP}
  605. {$DEFINE BDS2_UP}
  606. {$DEFINE BDS1_UP}
  607. {$ENDIF}
  608. {$IFDEF BDS2012}
  609. {$DEFINE BDS2012_UP}
  610. {$DEFINE BDS2011_UP}
  611. {$DEFINE BDS2010_UP}
  612. {$DEFINE BDS2009_UP}
  613. {$DEFINE BDS2007_UP}
  614. {$DEFINE BDS2006_UP}
  615. {$DEFINE BDS2005_UP}
  616. {$ENDIF}
  617. {$IFDEF BDS8}
  618. {$DEFINE BDS}
  619. {$DEFINE BDS8_UP}
  620. {$DEFINE BDS7_UP}
  621. {$DEFINE BDS6_UP}
  622. {$DEFINE BDS5_UP}
  623. {$DEFINE BDS4_UP}
  624. {$DEFINE BDS3_UP}
  625. {$DEFINE BDS2_UP}
  626. {$DEFINE BDS1_UP}
  627. {$ENDIF}
  628. {$IFDEF BDS2011}
  629. {$DEFINE BDS2011_UP}
  630. {$DEFINE BDS2010_UP}
  631. {$DEFINE BDS2009_UP}
  632. {$DEFINE BDS2007_UP}
  633. {$DEFINE BDS2006_UP}
  634. {$DEFINE BDS2005_UP}
  635. {$ENDIF}
  636. {$IFDEF BDS7}
  637. {$DEFINE BDS}
  638. {$DEFINE BDS7_UP}
  639. {$DEFINE BDS6_UP}
  640. {$DEFINE BDS5_UP}
  641. {$DEFINE BDS4_UP}
  642. {$DEFINE BDS3_UP}
  643. {$DEFINE BDS2_UP}
  644. {$DEFINE BDS1_UP}
  645. {$ENDIF}
  646. {$IFDEF BDS2010}
  647. {$DEFINE BDS2010_UP}
  648. {$DEFINE BDS2009_UP}
  649. {$DEFINE BDS2007_UP}
  650. {$DEFINE BDS2006_UP}
  651. {$DEFINE BDS2005_UP}
  652. {$ENDIF}
  653. {$IFDEF BDS6}
  654. {$DEFINE BDS}
  655. {$DEFINE BDS6_UP}
  656. {$DEFINE BDS5_UP}
  657. {$DEFINE BDS4_UP}
  658. {$DEFINE BDS3_UP}
  659. {$DEFINE BDS2_UP}
  660. {$DEFINE BDS1_UP}
  661. {$ENDIF}
  662. {$IFDEF BDS2009}
  663. {$DEFINE BDS2009_UP}
  664. {$DEFINE BDS2007_UP}
  665. {$DEFINE BDS2006_UP}
  666. {$DEFINE BDS2005_UP}
  667. {$ENDIF}
  668. {$IFDEF BDS5}
  669. {$DEFINE BDS}
  670. {$DEFINE BDS5_UP}
  671. {$DEFINE BDS4_UP}
  672. {$DEFINE BDS3_UP}
  673. {$DEFINE BDS2_UP}
  674. {$DEFINE BDS1_UP}
  675. {$ENDIF}
  676. {$IFDEF BDS2007}
  677. {$DEFINE BDS2007_UP}
  678. {$DEFINE BDS2006_UP}
  679. {$DEFINE BDS2005_UP}
  680. {$ENDIF}
  681. {$IFDEF BDS4}
  682. {$DEFINE BDS}
  683. {$DEFINE BDS4_UP}
  684. {$DEFINE BDS3_UP}
  685. {$DEFINE BDS2_UP}
  686. {$DEFINE BDS1_UP}
  687. {$ENDIF}
  688. {$IFDEF BDS2006}
  689. {$DEFINE BDS2006_UP}
  690. {$DEFINE BDS2005_UP}
  691. {$ENDIF}
  692. {$IFDEF BDS3}
  693. {$DEFINE BDS}
  694. {$DEFINE BDS3_UP}
  695. {$DEFINE BDS2_UP}
  696. {$DEFINE BDS1_UP}
  697. {$ENDIF}
  698. {$IFDEF BDS2005}
  699. {$DEFINE BDS2005_UP}
  700. {$ENDIF}
  701. {$IFDEF BDS2}
  702. {$DEFINE BDS}
  703. {$DEFINE BDS2_UP}
  704. {$DEFINE BDS1_UP}
  705. {$ENDIF}
  706. {$IFDEF BDS1}
  707. {$DEFINE BDS}
  708. {$DEFINE BDS1_UP}
  709. {$ENDIF}
  710. // COMPILERX_UP from COMPILERX mappings
  711. {$IFDEF COMPILER16}
  712. {$DEFINE COMPILER16_UP}
  713. {$DEFINE COMPILER15_UP}
  714. {$DEFINE COMPILER14_UP}
  715. {$DEFINE COMPILER12_UP}
  716. {$DEFINE COMPILER11_UP}
  717. {$DEFINE COMPILER10_UP}
  718. {$DEFINE COMPILER9_UP}
  719. {$DEFINE COMPILER8_UP}
  720. {$DEFINE COMPILER7_UP}
  721. {$DEFINE COMPILER6_UP}
  722. {$DEFINE COMPILER5_UP}
  723. {$DEFINE COMPILER4_UP}
  724. {$DEFINE COMPILER35_UP}
  725. {$DEFINE COMPILER3_UP}
  726. {$DEFINE COMPILER2_UP}
  727. {$DEFINE COMPILER1_UP}
  728. {$ENDIF}
  729. {$IFDEF COMPILER15}
  730. {$DEFINE COMPILER15_UP}
  731. {$DEFINE COMPILER14_UP}
  732. {$DEFINE COMPILER12_UP}
  733. {$DEFINE COMPILER11_UP}
  734. {$DEFINE COMPILER10_UP}
  735. {$DEFINE COMPILER9_UP}
  736. {$DEFINE COMPILER8_UP}
  737. {$DEFINE COMPILER7_UP}
  738. {$DEFINE COMPILER6_UP}
  739. {$DEFINE COMPILER5_UP}
  740. {$DEFINE COMPILER4_UP}
  741. {$DEFINE COMPILER35_UP}
  742. {$DEFINE COMPILER3_UP}
  743. {$DEFINE COMPILER2_UP}
  744. {$DEFINE COMPILER1_UP}
  745. {$ENDIF}
  746. {$IFDEF COMPILER14}
  747. {$DEFINE COMPILER14_UP}
  748. {$DEFINE COMPILER12_UP}
  749. {$DEFINE COMPILER11_UP}
  750. {$DEFINE COMPILER10_UP}
  751. {$DEFINE COMPILER9_UP}
  752. {$DEFINE COMPILER8_UP}
  753. {$DEFINE COMPILER7_UP}
  754. {$DEFINE COMPILER6_UP}
  755. {$DEFINE COMPILER5_UP}
  756. {$DEFINE COMPILER4_UP}
  757. {$DEFINE COMPILER35_UP}
  758. {$DEFINE COMPILER3_UP}
  759. {$DEFINE COMPILER2_UP}
  760. {$DEFINE COMPILER1_UP}
  761. {$ENDIF}
  762. {$IFDEF COMPILER12}
  763. {$DEFINE COMPILER12_UP}
  764. {$DEFINE COMPILER11_UP}
  765. {$DEFINE COMPILER10_UP}
  766. {$DEFINE COMPILER9_UP}
  767. {$DEFINE COMPILER8_UP}
  768. {$DEFINE COMPILER7_UP}
  769. {$DEFINE COMPILER6_UP}
  770. {$DEFINE COMPILER5_UP}
  771. {$DEFINE COMPILER4_UP}
  772. {$DEFINE COMPILER35_UP}
  773. {$DEFINE COMPILER3_UP}
  774. {$DEFINE COMPILER2_UP}
  775. {$DEFINE COMPILER1_UP}
  776. {$ENDIF}
  777. {$IFDEF COMPILER11}
  778. {$DEFINE COMPILER11_UP}
  779. {$DEFINE COMPILER10_UP}
  780. {$DEFINE COMPILER9_UP}
  781. {$DEFINE COMPILER8_UP}
  782. {$DEFINE COMPILER7_UP}
  783. {$DEFINE COMPILER6_UP}
  784. {$DEFINE COMPILER5_UP}
  785. {$DEFINE COMPILER4_UP}
  786. {$DEFINE COMPILER35_UP}
  787. {$DEFINE COMPILER3_UP}
  788. {$DEFINE COMPILER2_UP}
  789. {$DEFINE COMPILER1_UP}
  790. {$ENDIF}
  791. {$IFDEF COMPILER10}
  792. {$DEFINE COMPILER10_UP}
  793. {$DEFINE COMPILER9_UP}
  794. {$DEFINE COMPILER8_UP}
  795. {$DEFINE COMPILER7_UP}
  796. {$DEFINE COMPILER6_UP}
  797. {$DEFINE COMPILER5_UP}
  798. {$DEFINE COMPILER4_UP}
  799. {$DEFINE COMPILER35_UP}
  800. {$DEFINE COMPILER3_UP}
  801. {$DEFINE COMPILER2_UP}
  802. {$DEFINE COMPILER1_UP}
  803. {$ENDIF}
  804. {$IFDEF COMPILER9}
  805. {$DEFINE COMPILER9_UP}
  806. {$DEFINE COMPILER8_UP}
  807. {$DEFINE COMPILER7_UP}
  808. {$DEFINE COMPILER6_UP}
  809. {$DEFINE COMPILER5_UP}
  810. {$DEFINE COMPILER4_UP}
  811. {$DEFINE COMPILER35_UP}
  812. {$DEFINE COMPILER3_UP}
  813. {$DEFINE COMPILER2_UP}
  814. {$DEFINE COMPILER1_UP}
  815. {$ENDIF}
  816. {$IFDEF COMPILER8}
  817. {$DEFINE COMPILER8_UP}
  818. {$DEFINE COMPILER7_UP}
  819. {$DEFINE COMPILER6_UP}
  820. {$DEFINE COMPILER5_UP}
  821. {$DEFINE COMPILER4_UP}
  822. {$DEFINE COMPILER35_UP}
  823. {$DEFINE COMPILER3_UP}
  824. {$DEFINE COMPILER2_UP}
  825. {$DEFINE COMPILER1_UP}
  826. {$ENDIF}
  827. {$IFDEF COMPILER7}
  828. {$DEFINE COMPILER7_UP}
  829. {$DEFINE COMPILER6_UP}
  830. {$DEFINE COMPILER5_UP}
  831. {$DEFINE COMPILER4_UP}
  832. {$DEFINE COMPILER35_UP}
  833. {$DEFINE COMPILER3_UP}
  834. {$DEFINE COMPILER2_UP}
  835. {$DEFINE COMPILER1_UP}
  836. {$ENDIF}
  837. {$IFDEF COMPILER6}
  838. {$DEFINE COMPILER6_UP}
  839. {$DEFINE COMPILER5_UP}
  840. {$DEFINE COMPILER4_UP}
  841. {$DEFINE COMPILER35_UP}
  842. {$DEFINE COMPILER3_UP}
  843. {$DEFINE COMPILER2_UP}
  844. {$DEFINE COMPILER1_UP}
  845. {$ENDIF}
  846. {$IFDEF COMPILER5}
  847. {$DEFINE COMPILER5_UP}
  848. {$DEFINE COMPILER4_UP}
  849. {$DEFINE COMPILER35_UP}
  850. {$DEFINE COMPILER3_UP}
  851. {$DEFINE COMPILER2_UP}
  852. {$DEFINE COMPILER1_UP}
  853. {$ENDIF}
  854. {$IFDEF COMPILER4}
  855. {$DEFINE COMPILER4_UP}
  856. {$DEFINE COMPILER35_UP}
  857. {$DEFINE COMPILER3_UP}
  858. {$DEFINE COMPILER2_UP}
  859. {$DEFINE COMPILER1_UP}
  860. {$ENDIF}
  861. {$IFDEF COMPILER35}
  862. {$DEFINE COMPILER35_UP}
  863. {$DEFINE COMPILER3_UP}
  864. {$DEFINE COMPILER2_UP}
  865. {$DEFINE COMPILER1_UP}
  866. {$ENDIF}
  867. {$IFDEF COMPILER3}
  868. {$DEFINE COMPILER3_UP}
  869. {$DEFINE COMPILER2_UP}
  870. {$DEFINE COMPILER1_UP}
  871. {$ENDIF}
  872. {$IFDEF COMPILER2}
  873. {$DEFINE COMPILER2_UP}
  874. {$DEFINE COMPILER1_UP}
  875. {$ENDIF}
  876. {$IFDEF COMPILER1}
  877. {$DEFINE COMPILER1_UP}
  878. {$ENDIF}
  879. // VCLXX_UP from VCLXX mappings
  880. {$IFDEF UCL10}
  881. {$DEFINE UCL10_UP}
  882. {$ENDIF}
  883. {$IFDEF VCL71}
  884. {$DEFINE VCL71_UP}
  885. {$DEFINE VCL70_UP}
  886. {$DEFINE VCL60_UP}
  887. {$DEFINE VCL50_UP}
  888. {$DEFINE VCL40_UP}
  889. {$DEFINE VCL30_UP}
  890. {$DEFINE VCL20_UP}
  891. {$DEFINE VCL10_UP}
  892. {$ENDIF}
  893. {$IFDEF VCL70}
  894. {$DEFINE VCL70_UP}
  895. {$DEFINE VCL60_UP}
  896. {$DEFINE VCL50_UP}
  897. {$DEFINE VCL40_UP}
  898. {$DEFINE VCL30_UP}
  899. {$DEFINE VCL20_UP}
  900. {$DEFINE VCL10_UP}
  901. {$ENDIF}
  902. {$IFDEF VCL60}
  903. {$DEFINE VCL60_UP}
  904. {$DEFINE VCL50_UP}
  905. {$DEFINE VCL40_UP}
  906. {$DEFINE VCL30_UP}
  907. {$DEFINE VCL20_UP}
  908. {$DEFINE VCL10_UP}
  909. {$ENDIF}
  910. {$IFDEF VCL50}
  911. {$DEFINE VCL50_UP}
  912. {$DEFINE VCL40_UP}
  913. {$DEFINE VCL30_UP}
  914. {$DEFINE VCL20_UP}
  915. {$DEFINE VCL10_UP}
  916. {$ENDIF}
  917. {$IFDEF VCL40}
  918. {$DEFINE VCL40_UP}
  919. {$DEFINE VCL30_UP}
  920. {$DEFINE VCL20_UP}
  921. {$DEFINE VCL10_UP}
  922. {$ENDIF}
  923. {$IFDEF VCL30}
  924. {$DEFINE VCL30_UP}
  925. {$DEFINE VCL20_UP}
  926. {$DEFINE VCL10_UP}
  927. {$ENDIF}
  928. {$IFDEF VCL20}
  929. {$DEFINE VCL20_UP}
  930. {$DEFINE VCL10_UP}
  931. {$ENDIF}
  932. {$IFDEF VCL10}
  933. {$DEFINE VCL10_UP}
  934. {$ENDIF}
  935. // CLXXX_UP from CLXXX mappings
  936. {$IFDEF CLX10}
  937. {$DEFINE CLX10_UP}
  938. {$ENDIF}
  939. //==============================================================================
  940. // 交叉平台相关定义
  941. //==============================================================================
  942. {$IFDEF COMPILER1}
  943. {$DEFINE WIN16}
  944. {$DEFINE MSWINDOWS}
  945. {$ENDIF}
  946. {$IFDEF BDS}
  947. {$DEFINE DOTNET}
  948. {$ENDIF}
  949. {$IFDEF WIN32}
  950. {$DEFINE MSWINDOWS}
  951. {$ENDIF}
  952. {$IFDEF LINUX}
  953. {$DEFINE UNIX}
  954. {$DEFINE COMPLIB_CLX}
  955. {$ENDIF}
  956. {$IFNDEF COMPLIB_CLX}
  957. {$DEFINE COMPLIB_VCL}
  958. {$ENDIF}
  959. //==============================================================================
  960. // 映射版本信息到更友好的指令
  961. //==============================================================================
  962. {$IFDEF COMPILER3_UP}
  963. {$DEFINE SUPPORTS_WIDESTRING}
  964. {$DEFINE SUPPORTS_INTERFACE}
  965. {$ENDIF}
  966. {$IFDEF COMPILER35_UP}
  967. {$DEFINE SUPPORTS_EXTSYM}
  968. {$DEFINE SUPPORTS_NODEFINE}
  969. {$ENDIF}
  970. {$IFDEF COMPILER4_UP}
  971. {$DEFINE SUPPORTS_INT64}
  972. {$DEFINE SUPPORTS_DYNAMICARRAYS}
  973. {$DEFINE SUPPORTS_DEFAULTPARAMS}
  974. {$DEFINE SUPPORTS_REINTRODUCE}
  975. {$DEFINE SUPPORTS_OVERLOAD}
  976. {$ENDIF}
  977. {$IFDEF COMPILER6_UP}
  978. {$DEFINE SUPPORTS_ENUMVALUES}
  979. {$DEFINE SUPPORTS_VARIANTS}
  980. {$DEFINE SUPPORTS_IFDIRECTIVE}
  981. {$ENDIF}
  982. {$IFDEF DELPHI}
  983. {$DEFINE SUPPORTS_PASCAL}
  984. {$ENDIF}
  985. {$IFDEF BCB}
  986. {$DEFINE SUPPORTS_PASCAL}
  987. {$DEFINE SUPPORTS_CPLUSPLUS}
  988. {$ENDIF}
  989. {$IFDEF BDS}
  990. {$DEFINE SUPPORTS_PASCAL}
  991. {$DEFINE SUPPORTS_CSHARP}
  992. {$DEFINE IDE_WIDECONTROL}
  993. {$ENDIF}
  994. {$IFDEF BDS}
  995. {$DEFINE SUPPORTS_INLINE}
  996. {$ENDIF}
  997. {$IFDEF BDS2012_UP}
  998. {$DEFINE SUPPORTS_32_AND_64}
  999. {$DEFINE SUPPORTS_CROSS_PLATFORM}
  1000. {$DEFINE LIST_NEW_POINTER}
  1001. {$ENDIF}
  1002. {$IFDEF BDS2009_UP}
  1003. {$DEFINE UNICODE_STRING}
  1004. {$ENDIF}
  1005. {$IFDEF BDS2007_UP}
  1006. {$DEFINE IDE_CONF_MANAGER}
  1007. {$ENDIF}
  1008. //==============================================================================
  1009. // 调试设置
  1010. //==============================================================================
  1011. {.$DEFINE DEBUG}
  1012. {.$DEFINE USE_JCL}
  1013. {$IFDEF RELEASE}
  1014. {$UNDEF DEBUG}
  1015. {$ENDIF}
  1016. {.$IFDEF DELPHI2009_UP}
  1017. {.$UNDEF USE_JCL}
  1018. {.$ENDIF}
  1019. //==============================================================================
  1020. // 针对 PascalScript 的调试设置
  1021. //==============================================================================
  1022. {$DEFINE ALLDEBUG}
  1023. //==============================================================================
  1024. // 开发包语种定义
  1025. //==============================================================================
  1026. {$DEFINE GB2312}
  1027. {.$DEFINE BIG5}
  1028. {.$DEFINE ENGLISH}
  1029. //==============================================================================
  1030. // 下面的编译指令请勿更改
  1031. //==============================================================================
  1032. {$A+ Force alignment on word/dword boundaries}
  1033. {$S+ stack checking}
  1034. {$B- Short evaluation of boolean values}
  1035. {$H+ Long string support}
  1036. {$V- No var string checking}
  1037. {$X+ Extended syntax}
  1038. {$P+ Open string parameters}
  1039. {$J+ Writeable typed constants}
  1040. {$R- No Range checking}
  1041. {$IFDEF COMPILER6_UP}
  1042. {$WARN SYMBOL_PLATFORM OFF}
  1043. {$WARN UNIT_PLATFORM OFF}
  1044. {$WARN SYMBOL_DEPRECATED OFF}
  1045. {$WARN UNIT_DEPRECATED OFF}
  1046. {$ENDIF}
  1047. {$IFDEF COMPILER7_UP}
  1048. {$WARN UNSAFE_CAST OFF}
  1049. {$WARN UNSAFE_CODE OFF}
  1050. {$WARN UNSAFE_TYPE OFF}
  1051. {$ENDIF}
  1052. {$IFDEF BCB}
  1053. {$OBJEXPORTALL ON}
  1054. {$ENDIF}