Friday, April 29, 2011

Complete list of defines for Delphi versions

Does anyone know of a good place where I can find the complete list of version defines for all the Delphi versions, right up to Delphi 2009?

From stackoverflow
  • You could us the GX_CondDefine.inc From the great gexperts plugin:

    {$IFDEF CONDITIONALEXPRESSIONS}
      {$IFDEF BCB}
        {$DEFINE GX_BCB}
      {$ELSE}
        {$DEFINE GX_Delphi}
      {$ENDIF}
    
      {$IF CompilerVersion >= 14}
        {$DEFINE GX_VER140_up} // Delphi 6
        {$IFDEF LINUX}
          {$DEFINE GX_KYLIX}
          {$IF RTLVersion = 14.2}
            {$DEFINE GX_KYLIX2} // Kylix 2
          {$IFEND}
          {$IF RTLVersion = 14.5}
            {$DEFINE GX_KYLIX3} // Kylix 3
          {$IFEND}
        {$ENDIF}
        {$IF CompilerVersion >= 15}
          {$DEFINE GX_VER150_up}  // Delphi 7
          {$IF CompilerVersion >= 16}
            {$DEFINE GX_VER160_up}  // Delphi 8
            {$IF CompilerVersion >= 17}
              {$DEFINE GX_VER170_up}  // Delphi 9/2005
              {$IF CompilerVersion >= 18}
                {$DEFINE GX_VER180_up}  // BDS 2006
                {$IFDEF VER185}
                  {$DEFINE GX_VER185_up}  // Delphi 2007
                {$ENDIF}
                {$IF CompilerVersion >= 19}
                  {$DEFINE GX_VER190_up}  // Delphi .NET 2007
                  {$IF CompilerVersion >= 20}
                    {$DEFINE GX_VER200_up}  // RAD Studio 2009
                  {$IFEND}
                {$IFEND}
              {$IFEND}
            {$IFEND}
          {$IFEND}
        {$IFEND}
      {$IFEND}
    {$ELSE not CONDITIONALEXPRESSIONS}
      Sorry, but this version of GExperts does not support the IDE
      you are using. Please visit the GExperts web site at
      http://www.gexperts.org/ to obtain more information about
      support for your IDE.
    {$ENDIF}
    
  • A very, very good Delphi version include file is the jedi.inc from the the JEDI Code Library (JCL).

    It is always up-to-date and it includes a lot of "Feature Directives" like SUPPORTS_INT64 or SUPPORTS_UNICODE_STRING.

    Here is the SVN link.

    Davy Landman : Agreed, that one is very extensive!
    Gustavo Carreno : I think this is the one I would recommend in the future !!
    Marco van de Voort : This is the original document that I sent to Jedi about this, it provides a rationale why to do this: http://www.stack.nl/~marcov/porting.pdf (chapter 2)

0 comments:

Post a Comment