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 ...
随机推荐
- 设计模式之笔记--外观模式(Facade)
外观模式(Facade) 定义 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 类图 描述 Facade:外观类,外观 ...
- [How to] 使用HBase协处理器---基本概念和regionObserver的简单实现
1. 简介 对于HBase的协处理器概念可由其官方博文了解:https://blogs.apache.org/hbase/entry/coprocessor_introduction 总体来说其包含两 ...
- maven将jar包打如本地仓库命令
mvn install:install-file -DgroupId=org.apache.maven.plugins -DartifactId=maven-javadoc-plugin -Dvers ...
- SpringBoot微服务
在企业级软件的架构模型上,我们主要讨论下SOA与微服务架构. SOA的全称是Service-Oriented Architecture,可译为“面向服务的架构”,它是一个组件模型,将应用程序的不同功能 ...
- nginx 服务器篇
Nginx 服务器类型 1. Web服务器 Web服务器用于提供HTTP(包括HTTPS)的访问,例如Nginx.Apache.IIS等. 2. 应用程序服务器 应用程序服务器能够用于应用程序的运行, ...
- 设计模式--工厂模式 caffe_layer注册
来源:http://www.cnblogs.com/zhouqiang/archive/2012/07/20/2601365.html 来源:http://blog.luoyetx.com/2016/ ...
- 2017百度春招<有趣的排序>
题目 度度熊有一个N个数的数组,他想将数组从小到大排好序,但是萌萌的度度熊只会下面这个操作:任取数组中的一个数然后将它放置在数组的最后一个位置.问最少操作多少次可以使得数组从小到大有序? #inclu ...
- centos7 修改时区
Linux 系统(我特指发行版, 没说内核) 下大部分软件的风格就是不会仔细去考虑向后 的兼容性, 比如你上个版本能用这种程序配置, 没准到了下一个版本, 该程序已经不见了. 比如 sysvinit ...
- vue-router在IE11中页面不跳转
情景: IE11浏览器中,在进行正常页面跳转操作后(页面A跳转到页面B),点击浏览器的左上角的‘后退’按钮,点击后,可以看到url地址已经发生了变化(url由页面B变为页面A),hash值也已经是上一 ...
- Shiro的鉴权方式
一. 怎么用 Shiro 支持三种方式的授权 编程式:通过写 if/else 授权代码块完成: Subject subject = SecurityUtils.getSubject(); if(sub ...