zoukankan      html  css  js  c++  java
  • 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:

    CompilerCompilerVersion

    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 NameVersion

    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>;
  • 相关阅读:
    开源魔兽世界私服搭建
    centos7 普通用户无法使用ssh登录其他服务器
    Java时间格式大全
    C#中的线程之Abort陷阱
    C# 多线程学习系列四之ThreadPool取消、超时子线程操作以及ManualResetEvent和AutoResetEvent信号量的使用
    C# ThreadPool类(线程池)
    VS2019输出信息到调试控制台
    Stream/Bytes[]/Image对象相互转化
    Asp.NetCore 读取配置文件帮助类
    Java SpringBoot使用126邮箱发送html内容邮件,带附件
  • 原文地址:https://www.cnblogs.com/shangdawei/p/3350101.html
Copyright © 2011-2022 走看看