Delphi CompilerVersion Constant / Compiler Conditional Defines
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>;
Delphi CompilerVersion Constant / Compiler Conditional Defines的更多相关文章
- The CompilerVersion constant identifies the internal version number of the Delphi compiler.
http://delphi.wikia.com/wiki/CompilerVersion_Constant The CompilerVersion constant identifies the in ...
- Delphi For Linux Compiler
Embarcadero is about to release a new Delphi compiler for the Linux platform. Here are some of the k ...
- Delphi 版本号(D1到XE6),发现一个delphi.wikia.com网站
Borland Compiler Conditional Defines Edit Talk1 2,909PAGES ONTHIS WIKI Product Name Version Cond ...
- Delphi 项目配置选项
打开项目设置窗口: 通过菜单:项目>选项 快捷键 :Shift+Ctrl+F11 Delphi编译器选项说明 Conditional defines 指定条件编译器指令中引用的符号. O ...
- 最新的Delphi版本号对照
The CompilerVersion constant identifies the internal version number of the Delphi compiler. It is de ...
- Delphi的命令行编译命令
Borland出品的Delphi,有着闪电般的编译速度,但是在界面控件使用较多.工程项目较大的时候,编译一个工程仍需要一段时间,打开庞大的Delphi IDE,也需要时间.其实,在一个工程开发结束,调 ...
- [Delphi] Delphi版本号对照
VER300 Delphi Seattle / C++Builder Seattle 23 230 (Delphi:Win32/Win64/OSX/iOS32/iOS64/An ...
- Delphi 项目 结构 文件夹 组织
Delphi Project Structure Folder Organization http://delphi.about.com/od/delphitips2008/qt/project_la ...
- [Delphi]编译条件
当软件在多个DELPHI版本下编译时,需要处理各版本的不同情况,使用编译条件技术实现. 万一博客,编译指令基础使用介绍:http://www.cnblogs.com/del/category/1686 ...
随机推荐
- URAL题解三
URAL题解三 URAL 1045 题目描述:有\(n\)个机场,\(n-1\)条航线,任意两个机场有且只有一种方案联通.现有两个恐怖分子从\(m\)号机场出发,第一个人在机场安装炸弹,乘坐飞机,引爆 ...
- 设计模式之笔记--命令模式(Command)
命令模式(Command) 定义 命令模式(Command),将一个请求封闭为一个对象,从而使你可以用不同的请求对客户进行参数化:对请求排除或记录请求日志,以及支持可撤销的操作. 类图 描述 Comm ...
- php7.33 configure
To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for desc ...
- acm专题---拓扑排序+优先队列
struct node{ int id; int cnt; node(int _id,int _cnt):id(_id),cnt(_cnt){} bool operator<(node a) c ...
- MVC开发模式与javaEE三层架构
1.MVC开发模式 1. M:Model,模型.JavaBean * 完成具体的业务操作,如:查询数据库,封装对象2. V:View,视图.JSP * 展示数据3. C:C ...
- ajax跨域的解决办法
<!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content ...
- beego学习笔记(4):开发文档阅读(6)
beego的响应流程: 1.监听的端口接收数据,默认是8080端口. 2.用户请求到达8080端口后,开始数据处理流程. 3.初始化CONTEXT对象.判断是否是WEBSOCKET请求,如果是,设置I ...
- 三十分钟理解博弈论“纳什均衡” -- Nash Equilibrium
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 纳什均衡(或者纳什平衡),Nash ...
- Eclipse如何定位到某一个类所在硬盘上的位置
解决方法:安装OpenExplorer_1.5.0.v201108051513.jar插件 将OpenExplorer_1.5.0.v201108051513.jar文件添加到Eclipse所在目录下 ...
- log4net 写日志配置
1. nuget install package log4net 2.站点跟目录新建配置文件 LogWriterConfig.xml <?xml version="1.0" ...