Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Compilacion 32 y 64 bit (https://www.clubdelphi.com/foros/showthread.php?t=93024)

Neeruu 23-04-2018 15:34:12

Compilacion 32 y 64 bit
 
Hola a todos...
Como puedo saber si estoy compilando una aplicación en 32 o 64bit...

Mas precisamente quiero saber en tiempo de ejecución si la aplicación es de 32 o 64bit porque tengo que cargar una dll y dependiendo de la plataforma es la dll que tengo que cargar...

Saludos.-

escafandra 23-04-2018 16:19:27

Para saber si tu app de 32bits corre en un entorno de 64bits:
Código Delphi [-]
function IsWow64(PID: DWORD): BOOL;
  type TISWOW64PROCESS = function(hProc: THANDLE; var bIsWow64: BOOL): BOOL; stdcall;
var
  _IsWow64Process: TISWOW64PROCESS;
  hProc: THANDLE;
begin
  Result:= false;
  _IsWow64Process:= GetProcAddress(GetModuleHandle('Kernel32.dll'), 'IsWow64Process');
  if @_IsWow64Process <> nil then
  begin;
    hProc:= OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
    _IsWow64Process(hProc, Result);
    CloseHandle(hProc);
  end;
end;

También puedes comprobar el tamaño de los punteros en tiempo de ejecución.

Saludos.

CarlosReyesg 24-04-2018 02:34:38

Cita:

Empezado por Neeruu (Mensaje 525821)
Hola a todos...
Como puedo saber si estoy compilando una aplicación en 32 o 64bit...

Mas precisamente quiero saber en tiempo de ejecución si la aplicación es de 32 o 64bit porque tengo que cargar una dll y dependiendo de la plataforma es la dll que tengo que cargar...

Saludos.-


Tambien puedes hacer esto:
Código Delphi [-]
   {$IFDEF WIN64}
    /// codigo de 64bit
   {$ELSE}
    /// codigo de 32bit
   {$ENDIF}

Neeruu 24-04-2018 16:39:50

Gracias....

Código Delphi [-]
   {$IFDEF WIN64}
    /// codigo de 64bit
   {$ELSE}
    /// codigo de 32bit
   {$ENDIF}

Esto es lo que estoy necesitando...

escafandra 24-04-2018 17:17:26

Cita:

Empezado por Neeruu (Mensaje 525821)
Como puedo saber si estoy compilando una aplicación en 32 o 64bit...

Una cosa es compilar para una plataforma y realizar compilación condicionada, que parece que es lo que realmente buscabas.

Cita:

Empezado por Neeruu (Mensaje 525821)
Mas precisamente quiero saber en tiempo de ejecución si la aplicación es de 32 o 64bit porque tengo que cargar una dll y dependiendo de la plataforma es la dll que tengo que cargar...

Otra cosa es que tu aplicación sepa en tiempo de ejecución como se compiló, es decir corriendo en un entorno de 64bits, ¿mi app es de 32 o 64?

Una tercera cosa es si tu S.O. es de 32 o 64 bits



Saludos.

Casimiro Notevi 24-04-2018 18:29:49

Cita:

Empezado por escafandra (Mensaje 525847)
Una cosa es compilar para una plataforma y realizar compilación condicionada, que parece que es lo que realmente buscabas.
Otra cosa es que tu aplicación sepa en tiempo de ejecución como se compiló, es decir corriendo en un entorno de 64bits, ¿mi app es de 32 o 64?
Una tercera cosa es si tu S.O. es de 32 o 64 bits
Saludos.

Pues sí, parece que no tiene muy claro lo que realmente necesita.

lobo1998 27-04-2018 07:30:00

Inno Setup
 
amigo como enviar un archivo a la carpeta appdata con Inno Setup

Casimiro Notevi 27-04-2018 10:59:40

Cita:

Empezado por lobo1998 (Mensaje 525914)
amigo

Amigo, por favor, lee nuestra guía de estilo, gracias :)


La franja horaria es GMT +2. Ahora son las 20:31:42.

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