The CompilerVersion constant identifies the internal version number of the Delphi compiler.
http://delphi.wikia.com/wiki/CompilerVersion_Constant
The CompilerVersion constant identifies the internal version number of the Delphi compiler.
It is defined in the System unit and may be referenced either in code just as any other constant:
if CompilerVersion = 20 then
sCompilerName := 'Delphi 2009';
or in conditional compiler expressions:
{$if CompilerVersion > 18}
// Delphi 2007 or later
{$ifend}
The CompilerVersion constant was introduced in Delphi 6 along with conditional expressions.
In earlier Delphi versions various compiler defined VERxxx symbols are used to determine compiler versions.
CompilerVersion values and the equivalent compiler defined symbols for the Delphi versions in which the CompilerVersion constant is defined are:
Compiler
CompilerVersion
Defined Symbol
Delphi XE5
26
VER260
Delphi XE4
25
VER250
Delphi XE3
24
VER240
Delphi XE2
23
VER230
Delphi XE
22
VER220
Delphi 2010
21
VER210
Delphi 2009
20
VER200
Delphi 2007 .NET
19
VER190
Delphi 2007
18.5
VER185
Delphi 2006
18
VER180
Delphi 2005
17
VER170
Delphi 8 .NET
16
VER160
Delphi 7
15
VER150
Delphi 6
14
VER140
Delphi 5
13
VER130
Delphi 4
12
VER120
Delphi 3
10
VER100
Delphi 2
9
VER90
Delphi 1
8
VER80
http://delphi.wikia.com/wiki/Borland_Compiler_Conditional_Defines
Product Name
Version
Conditional Define
CompilerVersion
Embarcadero RAD Studio XE5
19.0
VER260
26
Embarcadero RAD Studio XE4
18.0
VER250
25
Embarcadero RAD Studio XE3
17.0
VER240
24
Embarcadero RAD Studio XE2
16.0
VER230
23
Embarcadero RAD Studio XE
15.0
VER220
22
Embarcadero RAD Studio 2010
14.0
VER210
21
CodeGear C++ Builder 2009
12.0
VER200
20
CodeGear Delphi 2007 for .NET
11.0
VER190
19?
CodeGear Delphi 2007 for Win32
11.0
VER180 and VER185
18, 18.5
Borland Developer Studio 2006
10.0
VER180
18
Borland Delphi 2005
9.0
VER170
17
Borland Delphi 8 for .NET
8.0
VER160 *
16
C++BuilderX
?
?
Borland C#Builder
1.0
VER160 *
Borland Delphi 7
7.0
VER150
15
Borland Kylix 3
3.0
VER140 **
Borland C++Builder 6
?
VER140 **(!!)
Borland Kylix 2
2.0
VER140 **
Borland Delphi 6
6.0
VER140 **
14
Borland Kylix
1.0
VER140 **
Borland C++Builder 5
?
VER130 ***
Borland Delphi 5
5.0
VER130 ***
Borland C++Builder 4
?
VER125
Borland Delphi 4
4.0
VER120
Borland C++Builder 3
?
VER110 ****
Borland Delphi 3
3.0
VER100
Borland C++ 5
?
?
Borland C++Builder 1
?
VER93
Borland Delphi 2
2.0
VER90
Borland C++ 4.5
?
?
Borland Delphi
1.0
VER80
Borland C++ 4
?
?
Borland Pascal 7
7.0
VER70
Borland C++ 3.1
?
?
Turbo Pascal for Windows 1.5
1.5
VER70
Turbo C++ for DOS 3
?
?
Borland C++ 3
?
?
Turbo C++ for Windows 3 (Win16)
?
?
Turbo Pascal for Windows 1.0
1.0
???
Borland C++ 2
?
?
Turbo Pascal 6
6.0
VER60
Turbo C++ for DOS
?
?
Turbo C for DOS 2
?
?
Turbo Pascal 5.5
5.5
VER55
Turbo C for DOS 1.5
?
?
Turbo Pascal 5
5.0
VER50
Turbo Pascal 4
4.0
VER40
Turbo C for DOS
?
?
Turbo Pascal 3
3.0
???
Turbo Pascal 2
2.0
???
Turbo Pascal 1
1.0
???
* This conditional define is shared by the Delphi compilers used to build C#Builder 1 and Delphi 8, which do not natively support Delphi for Win32.
This define is used in the "IDE Integration Packs" that were released to Borland partners in order to allow IDE plugins like ModelMaker Code Explorer
(http://www.modelmakertools.com/code-explorer/index.html) and
Castalia (http://www.delphi-expert.com/castalia3) to be compiled.
** This conditional define is shared between C++Builder 6, Delphi 6, Kylix 1, 2, and 3
(Checking for the conditional define "LINUX" helps to determine whether the compiler is Kylix or Delphi and "BCB" can be used to determine if C++Builder is being used).
*** This conditional define is shared with C++Builder 5
**** C++Builder 3.0 used VER110 (it had its own version of the Delphi compiler included).
**** CompilerVersion (Delphi 6 or later) can be used with conditional directives like
- {$IF CompilerVersion >= 20} {$DEFINE CanUnicode} {$IFEND}
or using code:
- if System.CompilerVersion >= 22 then <do something>;
The CompilerVersion constant identifies the internal version number of the Delphi compiler.的更多相关文章
- Delphi CompilerVersion Constant / Compiler Conditional Defines
http://delphi.wikia.com/wiki/CompilerVersion_Constant The CompilerVersion constant identifies the in ...
- 当前项目与当前环境的JDK版本不匹配”Bad version number in .class file“
java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.d ...
- 解决golang windows调试问题:Could not determine version number: could not find symbol value for runtime.buildVersion
版本信息: go:1.8.3 windows: win7/64 idea-go-plugin:171.4694.61 在windows下,使用dlv进行调试的时候,如果golang程序引入了c模块,比 ...
- UnsupportedClassVersionError: Bad version number in .class file
java.lang.UnsupportedClassVersionError: Bad version number in .class file造成这种过错是ni的支撑Tomcat运行的JDK版本与 ...
- java.lang.UnsupportedClassVersionError: Bad version number in .class file异常
java.lang.UnsupportedClassVersionError: Bad version number in .class file异常 部署工程时也出现过因为版本不同引起的问题,那时我 ...
- Bad version number in .class file
TY项目是用JDK1.6做的,早先在电脑上装了一个1.5的,这回就不能用了.为了能用,我就又装了一个1.6的,修改了环境变量之后,以为一切OK.开始测试,首先在Myeclipse中打开我用1.5编的一 ...
- oracle.jbo.JboException: JBO-29000: JBO-29000: Bad version number in .class file
我在本地run Page的时候报以下错误. oracle.jbo.JboException: JBO-29000: JBO-29000: Bad version number in .class fi ...
- Java Bad version number in .class file
错误信息: java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLo ...
- Java 异常 —— Bad version number in .class file
把一个项目拷贝到另一个环境,运行时报错: Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class ...
随机推荐
- PHP时间日期比较
若要使用PHP来比较日期,最好用DateTime::diff 但是这个是5.3才支持的,如果没有这样的环境,可以使用<.>来比较 如下例子,会输出right $date1=strtotim ...
- 每天一个linux命令(47):traceroute命令
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一 ...
- 【团队项目演示】FZU5BOYS之团队项目链接汇总
FZU5BOYS 项目冲刺之博客汇总 Alpha版本 Day One Day Two Day Three Day Four Day Five Day Six Day Seven Day Ei ...
- android学习——Android Studio下创建menu布局文件
一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...
- Sublime Text 3 Build 3065 All System CracKed By Hmily[LCG]
Sublime Text 3 Build 3065 All System CracKed By Hmily[LCG] <ignore_js_op> 程序员文本编辑器 Sublime Tex ...
- UVA 540 stl
Queues and Priority Queues are data structures which are known to most computer scientists. The Team ...
- tuple内部方法
代码: #tuple内部方法 ac=('a','r','6','d','a','b','b','e') print(dir(ac)) print(ac.count('a')) print(ac.ind ...
- request.getAttribute() 和 request.getParameter() 有何区别?
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别: (1)HttpServletRequest类有setAttri ...
- 4.Android下拉列表框spinner学习
下拉列表框被广泛使用,诸如淘宝.京东等手机端经常可以看到这个部件身影,今天就来学习下它. 首先布局文件增加代码:如图 接下来在values下增加arrays.xml 如图 ...
- 项目跑起来之后,一会儿后台就会报错Illegal access: this web application instance has been stopped already. Could not load [com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask]. The following stack trace
一月 24, 2016 6:42:54 下午 org.apache.catalina.loader.WebappClassLoaderBase checkStateForResourceLoading ...