Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Saber versión de Windows con condicionales de compilacion (https://www.clubdelphi.com/foros/showthread.php?t=94696)

aguml 27-05-2020 20:08:45

Saber versión de Windows con condicionales de compilacion
 
Necesito saber bajo que versión de Windows x64 estoy para definir unas constantes con diferentes valores para diferentes versiones.
He visto esto pero es para x32 y lo necesito para x64: https://docs.microsoft.com/es-es/win...ectedfrom=MSDN

cloayza 27-05-2020 21:09:15

Estimado Aguml, haber si esto le sirve de guía...

Código Delphi [-]
procedure TForm5.FormCreate(Sender: TObject);
Const
   ArrArquitecture:array[TOSVersion.TArchitecture] of  string=('arIntelX86', 'arIntelX64', 'arARM32', 'arARM64');
   ArrPlatform:array[TOSVersion.TPlatform] of string=('pfWindows', 'pfMacOS', 'pfiOS', 'pfAndroid', 'pfWinRT', 'pfLinux');

begin
     vle.Strings.Add(format('Architecture=%s',[ArrArquitecture[TOSVersion.Architecture]]));
     vle.Strings.Add(format('Platform=%s',[ArrPlatform[TOSVersion.Platform]]));

     vle.Strings.Add(format('Build=%d',[TOSVersion.Build]));
     vle.Strings.Add(format('Major=%d',[TOSVersion.Major]));
     vle.Strings.Add(format('Minor=%d',[TOSVersion.Minor]));
     vle.Strings.Add(format('ServicePackMajor=%d',[TOSVersion.ServicePackMajor]));
     vle.Strings.Add(format('ServicePackMinor=%d',[TOSVersion.ServicePackMinor]));

     vle.Strings.Add(format('Descripción=%s',[TOSVersion.ToString]));
end;

Saludos cordiales

aguml 27-05-2020 22:33:42

No, eso no me sirve porque tiene que ser en tiempo de compilacion tal como:
Código PHP:

#ifndef _WIN64
    #error "Esta clase es para x64"
#else
    #if defined _WIN10
        #define POS_NTFLAGS 0xBC
    #elif defined _WIN7
        #define POS_NTFLAGS 0xBF
    #elif defined _WIN8
        #define POS_NTFLAGS 0xC0
    #endif
#endif 


cloayza 29-05-2020 18:18:59

En la página de Embarcadero está la información que buscas...
Directivas de Compilación

Saludos cordiales


La franja horaria es GMT +2. Ahora son las 04:48:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi