[Delphi] Delphi版本号对照
VER300 Delphi Seattle / C++Builder Seattle 23 230
(Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android)
VER290 Delphi XE8 / C++Builder XE8 22 220
(Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android)
VER280 Delphi XE7 / C++Builder XE7 21 210
(Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android)
VER270 Delphi XE6 / C++Builder XE6 20 200
(Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android)
VER260 Delphi XE5 / C++Builder XE5 19 190
(Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS)
VER250 Delphi XE4 / C++Builder XE4 18 180
(Delphi:Win32/Win64/OSX/iOS) (C++Builder:Win32/Win64/OSX)
VER240 Delphi XE3 / C++Builder XE3 17 170
(Delphi:Win32/Win64/OSX) (C++Builder:Win32/Win64/OSX)
VER230 Delphi XE2 / C++Builder XE2 16 160
(Delphi:Win32/Win64/OSX) (C++Builder:Win32/OSX)
161 is the version for the five FireMonkey packages at XE2 Update 2:
fmi161.bpl, fmx161.bpl, fmxase161.bpl, fmxdae161.bpl, and fmxobj161.bpl.
VER220 Delphi XE / C++Builder XE (Win32) 15 150
VER210 Delphi 2010 / C++Builder 2010 (Win32) 14 140
VER200 Delphi 2009 / C++Builder 2009 (Win32) 12 120
VER190 Delphi 2007 for .Net * 11 110
VER180 or VER185 Delphi 2007 / C++Builder 2007 for Win32 * 11 110
VER180 Delphi 2006 / C++Builder 2006 (Win32/.Net) and Delphi/C++Builder 2007 for Win32 10 100
VER170 Delphi 2005 (Win32/.Net) 9 90
VER160 Delphi 8 for .Net 8 80
VER150 Delphi 7 (and 7.1) 7 70
VER140 Delphi 6 / C++Builder 6 6 60
VER130 Delphi 5 / C++Builder 5 5 NA
VER125 C++Builder 4 4 NA
VER120 Delphi 4 4 NA
VER110 C++Builder 3 3 NA
VER100 Delphi 3 3 NA
VER93 C++Builder 1 NA NA
VER90 Delphi 2 2 NA
VER80 Delphi 1 1 NA
VER70 Borland Pascal 7.0 NA NA
VER15 Turbo Pascal for Windows 1.5 NA NA
VER10 Turbo Pascal for Windows 1.0 NA NA
VER60 Turbo Pascal 6.0 NA NA
VER55 Turbo Pascal 5.5 NA NA
VER50 Turbo Pascal 5.0 NA NA
VER40 Turbo Pascal 4.0 NA NA
VER30 : Turbo Pascal 3
VER20 : Turbo Pascal 2
VER10 :Turbo Pascal 1
编译时可以判断版本号:
{$IF CompilerVersion >= 18.5}
//some code only compiled for Delphi 2007 and later
{$IFEND}
Delphi 10.3 RIO - 33
Delphi 10.2 Tokyo - 32
Delphi 10.1 Berlin - 31
Delphi XE3 - 24
Delphi XE2 - 23
Delphi XE - 22
Delphi 2010 - 21
Delphi 2009 - 20
Delphi 2007 - 18.5
Delphi 2006 - 18
Delphi 2005 - 17
Delphi 8 - 16
Delphi 7 - 15
Delphi 6 - 14
判断当前 Delphi 的运行库版本:
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := FloatToStr(System.CompilerVersion);
end;

Compiler Directives
|
Delphi Compiler Directive
|
Associated Symbol |
| Align fields (Delphi) | {$A},{$ALIGN} |
| Application type (Delphi) | {$APPTYPE} |
| Assert directives (Delphi) | {$C},{$ASSERTIONS} |
| Boolean short-circuit evaluation (Delphi compiler directive) | {$B},{$BOOLEVAL} |
| Code align (Delphi) | {$CODEALIGN} |
| Conditional compilation (Delphi) | {$IFDEF}, {$IFNDEF}, {$IF}, {$ELSEIF}, {$ELSE}, {$ENDIF}, {$IFEND} |
| Debug information (Delphi) | {$D},{$DEBUGINFO} |
| DEFINE directive (Delphi) | {$DEFINE} |
| DENYPACKAGEUNIT directive (Delphi) | {$DENYPACKAGEUNIT} |
| Description (Delphi) | {$D},{$DESCRIPTION} |
| DESIGNONLY directive (Delphi) | {$DESIGNONLY} |
| ELSE (Delphi) | {$ELSE} |
| ELSEIF (Delphi) | {$ELSEIF} |
| ENDIF directive (Delphi) | {$ENDIF} |
| Executable extension (Delphi) | {$E},{$EXTENSION} |
| Export symbols (Delphi) | {$ObjExportAll} |
| Extended syntax (Delphi) | {$X},{$EXTENDEDSYNTAX} |
| Extended type compatibility (Delphi) | {$EXTENDEDCOMPATIBILITY} |
| External Symbols (Delphi) | {$EXTERNALSYM [ 'typeNameInHpp' [ 'typeNameInHppUnion' ]]} |
| Floating point precision control (Delphi for x64) | {$EXCESSPRECISION} |
| HIGHCHARUNICODE directive (Delphi) | {$HIGHCHARUNICODE} |
| Hints (Delphi) | {$HINTS} |
| HPP emit (Delphi) | {$HPPEMIT} |
| IFDEF directive (Delphi) | {$IFDEF} |
| IF directive (Delphi) | {$IF} |
| IFEND directive (Delphi) | {$IFEND} |
| IFNDEF directive (Delphi) | {$IFNDEF} |
| IFOPT directive (Delphi) | {$IFOPT} |
| Image base address | {$IMAGEBASE} |
| Implicit Build (Delphi) | {$IMPLICITBUILD} |
| Imported data | {$G},{$IMPORTEDDATA} |
| Include file (Delphi) | {$I},{$INCLUDE} |
| Input output checking (Delphi) | {$I},{$IOCHECKS} |
| Compiler directives for libraries or shared objects (Delphi) | {$LIBPREFIX}, {$LIBSUFFIX}, {$LIBVERSION} |
| Legacy IFEND (Delphi) | {$LEGACYIFEND} |
| Link object file (Delphi) | {$L file},{$LINK file} |
| Local symbol information (Delphi) | {$L+},{$LOCALSYMBOLS} |
| Long strings (Delphi) | {$H},{$LONGSTRINGS} |
| Memory allocation sizes (Delphi) | {$M},{$MINSTACKSIZE},{$MAXSTACKSIZE} |
| MESSAGE directive (Delphi) | {$MESSAGE } |
| METHODINFO directive (Delphi) | {$METHODINFO} |
| Minimum enumeration size (Delphi) | {$Z1},{$Z2},{$Z4},{$MINENUMSIZE 1},{$MINENUMSIZE 2},{$MINENUMSIZE 4} |
| NODEFINE directive (Delphi) | {$NODEFINE [ 'typeNameInHpp' [ 'typeNameInHppUnion' ]]} |
| NOINCLUDE (Delphi) | {$NOINCLUDE} |
| OBJTYPENAME directive (Delphi) | {$OBJTYPENAME typeIdent ['{B|N}typeNameInObj']} |
| Old type layout (Delphi) | {$OLDTYPELAYOUT ON} |
| Open String Parameters (Delphi) | {$P},{$OPENSTRINGS} |
| Optimization (Delphi) | {$O},{$OPTIMIZATION} |
| Overflow checking (Delphi) | {$Q},{$OVERFLOWCHECKS} |
| PE (portable executable) header flags (Delphi) | {$SetPEFlags},{$SetPEOptFlags} |
| PE header operating system version | {$SETPEOSVERSION} |
| PE header subsystem version | {$SETPESUBSYSVERSION} |
| PE header user version | {$SETPEUSERVERSION} |
| Pentium-safe FDIV operations (Delphi) | {$U},{$SAFEDIVIDE} |
| Pointer Math (Delphi) | {$POINTERMATH} |
| Range checking | {$R},{$RANGECHECKS} |
| Real48 compatibility (Delphi) | {$REALCOMPATIBILITY} |
| Regions | {$REGION},{$ENDREGION} |
| Reserved address space for resources (Delphi, Linux) | {$M},{$RESOURCERESERVE} |
| Resource file (Delphi) | {$R},{$RESOURCE} |
| RTTI directive (Delphi) | {$RTTI INHERIT|EXPLICIT} |
| RUNONLY directive (Delphi) | {$RUNONLY} |
| Run-Time Type Information (Delphi) | {$M},{$TYPEINFO} |
| Scoped Enums (Delphi) | {$SCOPEDENUMS} |
| Stack frames (Delphi) | {$W},{$STACKFRAMES} |
| Strong link types (Delphi) | {$STRONGLINKTYPES} |
| Symbol declaration and cross-reference information (Delphi) | {$Y},{$REFERENCEINFO},{DEFINITIONINFO} |
| Type-checked pointers (Delphi) | {$T},{$TYPEDADDRESS} |
| UNDEF directive (Delphi) | {$UNDEF} |
| Var-string checking (Delphi) | {$V},{$VARSTRINGCHECKS} |
| Warning messages (Delphi) | {$WARN} |
| Warnings (Delphi) | {$WARNINGS} |
| Weak packaging | {$WEAKPACKAGEUNIT} |
| WEAKLINKRTTI directive (Delphi) | {$WEAKLINKRTTI} |
| Writeable typed constants (Delphi) | {$J},{$WRITEABLECONST} |
| Zero-based strings (Delphi) | {$ZEROBASEDSTRINGS} |
Predefined Conditionals
|
Category
|
Symbol | DCC32 | DCC64 | DCCOSX | DCCIOSARM | DCCIOS32 | DCCAARM | DCCIOSARM64 | Comments |
| Since XE2 | Since XE2 | Since XE3 | Since XE3 | In XE5 | Since XE8 | ||||
| Compiler | DCC | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | |
| VER310 | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | For Delphi XE8, compiler version 29.0 has VER310 defined. | |
| For a list of compiler versions, see Compiler Versions. |
|||||||||
| Platform | CONSOLE | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | Defined if an application is being compiled as a console application. |
| IOS | not defined |
not defined |
not defined |
DEFINED | DEFINED | N/A | DEFINED | Defined if the target platform is iOS. |
|
| *New* in XE4/iOS | |||||||||
| NATIVECODE | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | Since Delphi.Net |
|
| MSWINDOWS | DEFINED | DEFINED | not defined |
not defined |
not defined |
not defined |
not defined |
Indicates that the operating environment is Windows. Use MSWINDOWS to test for any flavor of the Windows platform instead of WIN32. |
|
| WIN32 | DEFINED | not defined |
not defined |
not defined |
not defined |
not defined |
not defined |
Target platform is the native 32-bit Windows platform. |
|
| WIN64 | not defined |
DEFINED | not defined |
not defined |
not defined |
not defined |
not defined |
Target platform is 64-bit Windows. |
|
| *New* in XE2/x64 | |||||||||
| MACOS | not defined |
not defined |
DEFINED | DEFINED | DEFINED | not defined |
not defined |
Target platform is Mac OS X. |
|
| *New* in XE2/OSX | |||||||||
| MACOS32 | not defined |
not defined |
DEFINED | DEFINED | DEFINED | not defined |
not defined |
Target platform is 32-bit Mac OS X. |
|
| *New* in XE2/OSX | |||||||||
| LINUX | not defined |
not defined |
not defined |
not defined |
not defined |
not defined |
not defined |
Since Kylix |
|
| LINUX32 | not defined |
not defined |
not defined |
not defined |
not defined |
not defined |
not defined |
Since Kylix |
|
| POSIX | not defined |
not defined |
DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | Since Kylix |
|
| POSIX32 | not defined |
not defined |
DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | Since Kylix |
|
| ANDROID | not defined |
not defined |
not defined |
not defined |
not defined |
DEFINED | not defined |
Defined if the target platform is Android. |
|
| *New in XE5 | |||||||||
| CPU | CPUARM | not defined |
not defined |
not defined |
DEFINED | not defined |
DEFINED | DEFINED | Defined if the CPU is based on the ARM architecture, such as the Delphi mobile compiler for the iOS device (DCCIOSARM.EXE). |
| *New* in XE4/iOS | |||||||||
| CPU386 | DEFINED | not defined |
DEFINED | not defined |
DEFINED | not defined |
not defined |
Indicates that the CPU is an Intel 386 or later. |
|
| CPUX86 | DEFINED | not defined |
DEFINED | not defined |
DEFINED | not defined |
not defined |
CPU is an Intel 386 or later on any platform. |
|
| *New* in XE2/x64 | |||||||||
| CPUX64 | not defined |
DEFINED | not defined |
not defined |
not defined |
not defined |
not defined |
The CPU supports the x86-64 instruction set, and is in a 64-bit environment. |
|
| *New* in XE2/x64 | |||||||||
| CPU32BITS | DEFINED | not defined |
DEFINED | DEFINED | DEFINED | DEFINED | not defined |
The CPU is in a 32-bit environment, such as DCC32.EXE. |
|
| *New* in XE8 | |||||||||
| CPU64BITS | not defined |
DEFINED | not defined |
not defined |
not defined |
not defined |
DEFINED | The CPU is in a 64-bit environment, such as DCC64.EXE. |
|
| *New* in XE8 | |||||||||
| CPUARM32 | not defined |
not defined |
not defined |
DEFINED | not defined |
DEFINED | not defined |
The CPU is in a 32-bit ARM environment, such as DCCIOSARM.EXE. |
|
| *New* in XE8 | |||||||||
| CPUARM64 | not defined |
not defined |
not defined |
not defined |
not defined |
not defined |
DEFINED | The CPU is in a 64-bit ARM environment, such as DCCIOSARM64.EXE. |
|
| *New* in XE8 | |||||||||
| Availability | |||||||||
| ALIGN_STACK | not defined |
not defined |
DEFINED | not defined |
DEFINED | not defined |
not defined |
Defined in code that may be shared with the OS X compiler and another compiler on another platform such as Linux that does not have a rigid stack alignment requirement. For more information, see Eli Boling's blog at http://blogs.embarcadero.com/eboling/2009/05/20/5607 . |
|
| *New* in XE2/OSX | |||||||||
| ASSEMBLER | DEFINED | DEFINED | DEFINED | not defined |
DEFINED | not defined |
not defined |
Assembler syntax is accepted. |
|
| AUTOREFCOUNT | not defined |
not defined |
not defined |
DEFINED | DEFINED | DEFINED | DEFINED | Defined for compilers that use automatic reference counting, such as the Delphi mobile compilers. |
|
| *New* in XE4/iOS | |||||||||
| EXTERNALLINKER | not defined |
not defined |
not defined |
DEFINED | not defined |
DEFINED | DEFINED | Defined for compilers that have an external linker and the LLVM code generator; the Delphi mobile compilers have the external ld linker and use LLVM as code generator. |
|
| *New* in XE4/iOS | |||||||||
| UNICODE | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | UNICODE is defined as the default string type. |
|
| CONDITIONALEXPRESSIONS | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | DEFINED | Tests for the use of the $IF directive. |
|
| ELF | not defined |
not defined |
not defined |
not defined |
not defined |
not defined |
not defined |
Defined when targeting Executable and Linkable Format (ELF) files. |
|
| NEXTGEN | not defined |
not defined |
not defined |
DEFINED | DEFINED | DEFINED | DEFINED | Defined for compilers (such as the Delphi mobile compilers) that use "next-generation" language features, such as 0-based strings. |
|
| *New* in XE4/iOS | |||||||||
| PC_MAPPED_EXCEPTIONS | not defined |
not defined |
DEFINED | not defined |
DEFINED | not defined |
not defined |
Defined when compiling on a platform or for a target platform that uses address maps instead of stack frames to unwind exceptions (such as OS X). |
|
| *New* in XE2. | |||||||||
| PIC | never | never | DEFINED if -P is specified |
never | DEFINED if -P is specified |
always defined |
never | Defined for platforms that require Position-Independent Code (PIC), such as OS X. |
|
| UNDERSCOREIMPORTNAME | DEFINED | not defined |
DEFINED | not defined |
DEFINED | not defined |
not defined |
Defined for compilers that add a leading underscore (for example, in names of dynamic libraries imported from Mac OS). |
|
| *New* in XE4/iOS | |||||||||
| WEAKREF | not defined |
not defined |
not defined |
DEFINED | DEFINED | DEFINED | DEFINED | Defined for compilers that can use weak references (the [weak] attribute). |
|
| *New* in XE4/iOS | |||||||||
| WEAKINSTREF | not defined |
not defined |
not defined |
DEFINED | DEFINED | DEFINED | DEFINED | Defined when weak references are defined for instances. |
|
| *New* in XE4/iOS | |||||||||
| WEAKINTFREF | not defined |
not defined |
not defined |
DEFINED | DEFINED | DEFINED | DEFINED | Defined when weak references are defined for interfaces. |
|
| *New* in XE4/iOS | |||||||||
In the table column heads:
- DCC32 is the 32-bit Windows Delphi compiler.
- DCC64 is the 64-bit Windows Delphi compiler.
- DCCOSX is the Mac OS X Delphi compiler.
- DCCIOSARM is the Delphi compiler for 32-bit iOS Devices.
- DCCIOS32 is the Delphi compiler for iOS Simulators.
- DCCAARM.EXE is the Delphi compiler for Android devices.
- DCCIOSARM64 is the Delphi compiler for 64-bit iOS devices.
{$IFDEF CONDITIONALEXPRESSIONS}
{$IF CompilerVersion >= 17.0}
{$DEFINE HAS_INLINE}
{$IFEND}
{$IF RTLVersion >= 14.0}
{$DEFINE HAS_ERROUTPUT}
{$IFEND}
{$ENDIF}
[Delphi] Delphi版本号对照的更多相关文章
- Delphi版本号对照(转)
Delphi版本号对照 VER10 :Turbo Pascal 1VER20 : Turbo Pascal 2VER30 : Turbo Pascal 3VER40 : Turbo Pasca ...
- 最新的Delphi版本号对照
The CompilerVersion constant identifies the internal version number of the Delphi compiler. It is de ...
- Delphi工程版本号修改工具
自动修改某目录下符合条件的Delphi工程(dproj)版本号, 支持命令行调用支持通配符忽略文件 -p [Path] 在[Path]路径下查询所有dproj文件(可以为空, 默认路径为程序当前路径) ...
- [Delphi]Delphi开发的一些技巧
一.提高查询效率先进行准备查询操作: CustomerQuery.Close; if not (CustomerQuery.Prepared) then -->查询是否已准备好 Customer ...
- delphi 各版本的特性
delphi 各新版本特性收集 Delphi XE6新增了一些特性并增强了原有的功能,主要有以下几个方面: IDE(整合开发环境) Internet XML(扩展标记语言) Compiler( ...
- delphi 下载
获取网络文件大小 //delphi 获取网络文件大小 function GetUrlFileSize(aURL: string): integer; var FileSize: integer; va ...
- delphi Sqlite
Delphi中SQLite如何读写二进制字段(Blob类型) 在Delphi中,有大量的组件可以操作SQLite数据库,如UniDAC就是其中一个比较优秀的,当然还有ASQLite3Component ...
- Delphi经验总结(1)
先人的DELPHI基础开发技巧 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar('newfile.txt'),pchar('//computername ...
- zw版【转发·台湾nvp系列例程】HALCON EquHistoImage(Delphi)
zw版[转发·台湾nvp系列例程]HALCON EquHistoImage(Delphi) zw版[转发·台湾nvp系列例程]HALCON EquHistoImage(Delphi) (Delphi ...
随机推荐
- Spring 4 创建REST API
什么是REST 全称:表述性状态转移 (Representational State Transfer), 将资源的状态以最适合客户端或服务端的形式从服务器端转移到客户端(或者反过来). 面向资源,而 ...
- 解决安装rpm包依赖关系的烦恼 - yum工具介绍及本地源配置方法
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- laravel框架中容器类简化代码-摘自某书
<?php //容器类装实例或提供实例的回调函数 class Container { protected $bindings = []; //绑定接口和生成相应实例的回调函数 public fu ...
- 萌新笔记——git的问题(error: object file .git/objects/* is empty...)的解决方案及对git版本库文件的了解
由于操作不当,导致git版本库出了大问题,如下所示: error: object file .git/objects/8b/61d0135d3195966b443f6c73fb68466264c68e ...
- 用C++开发Binder服务
用C++来实现Binder服务比较麻烦,原因是没有AIDL的辅助,必须手工来写中间的代码. 首先写一个服务类ExampleServer的代码: class ExampleServer : public ...
- Intel 推出 DPDK 开发包的意义是什么?
Intel 推出 DPDK 开发包的意义是什么? http://www.zhihu.com/question/27413080?sort=created 基于intel dpdk的包处理器,相较于基于 ...
- Ubuntu 14.04 LTS下安装Google Chrome浏览器
在Ubuntu 14.04下安装Google Chrome浏览器非常简单,只要到Chrome的网站下载Deb安装包并进行安装即可.当然你也可以使用APT软件包管理器来安装Google Chrome浏览 ...
- win8改win7笔记
内存<=4G,选32位(×86) 内存>=4G,选64位(×64) (非必须) BIOS设置 USB Boot Support Disabled改为Enabled(如 ...
- Markdown编辑器语法指南2
人的一切痛苦, 本质上都是对自己的无能的愤怒. --王小波 1 Markdown编辑器的基本用法 1.1 代码 如果你只想高亮语句中的某个函数名或关键字,可以使用 `function_name()` ...
- PAT 1046. 划拳(15)
划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒.两人同赢或两人同输 ...