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 ...
随机推荐
- 6、面向对象以及winform的简单运用(抽象基类与接口)
抽象类与抽象方法 1.书写规范: 在类前面加上abstract关键字,就成为了抽象类:在一个方法前面加上abstract关键字,就成为了抽象方法(抽象方法不能有实现方法,直接在后面加分号) 例: ab ...
- 第一节Unity3D简介
Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎.Unity ...
- JavaIO中的Reader和writer
1.reader package com.io.Reader; import java.io.BufferedReader; import java.io.FileInputStream; impor ...
- 5.9-3 用正则表达式判断字符串text是否为合法的手机号
package zfc; public class Zfc { public static void main(String[] args) { //判断手机号格式是否合法 String text = ...
- 复习CSS
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 【ZOJ 3844】Easy Task
题意 每次把序列中最大的数a的一个和最小的数b的一个变成a-b.求最后是否能使序列里的数全部相同,能则输出这个相同的数. 分析 一定是有解的,不断减少最大数的个数,最大数减少为0个时,就是减少了不同数 ...
- BZOJ1816 [Cqoi2010]扑克牌
Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的 牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1 ...
- 以一个权限系统来告别WebForm —开篇
前言: 当今是互联网的时代,我们己经阻止不了它的发展了,只有跟上脚步,才不会被抛弃,松散了这么久,该紧紧了. 背景: 我之所以说以一个权限应用系统来告别我的WebForm内部系统的生涯,是缘于我自 ...
- Operating System Memory Management、Page Fault Exception、Cache Replacement Strategy Learning、LRU Algorithm
目录 . 引言 . 页表 . 结构化内存管理 . 物理内存的管理 . SLAB分配器 . 处理器高速缓存和TLB控制 . 内存管理的概念 . 内存覆盖与内存交换 . 内存连续分配管理方式 . 内存非连 ...
- Android——Canvas类的学习
转:http://blog.sina.com.cn/s/blog_61ef49250100qw9x.html 今晚瞎折腾,闲着没事画了个机器人——android,浪费了一个晚上的时间.画这丫还真不容易 ...