Ver la Versión Completa : Mostrar arquitectura de programa en caption de form
wolfran_hack
10-01-2016, 22:23:36
Buenas a todos, alguien sabe como obtener la arquitectura del programa que estamos trabajando y mostrarlo en el caption del form. Por ejemplo, tengo una function para saber la versión actual, habrá algo parecido?
Delphi X
AgustinOrtu
10-01-2016, 23:33:20
A que te referis con arquitectura? 32 o 64 bits del programa en cuestion? O de si es Windows de 32 o 64 bits?
wolfran_hack
11-01-2016, 00:21:33
A la que esta compilado el programa.
https://k60.kn3.net/7/C/8/4/B/C/342.png
AgustinOrtu
11-01-2016, 01:13:16
No estoy muy seguro de como hacerlo. Se que si no fue en este foro, fue en DelphiAccess, el amigo escafandra usando la API de Windows mostraba como "preguntar" si un proceso es de 32 o 64 bits
Si no recuerdo mal era el que hackeaba procesos para modificar strings
Lo que yo haria y que me parece lo mas logico es usar directivas de compilacion (http://docwiki.embarcadero.com/RADStudio/Seattle/en/Conditional_compilation_(Delphi))
{$IFDEF WIN32}
const
Plataforma = 'Win32';
{$ENDIF}
{$IFDEF WIN64}
const
Plataforma = 'Win64';
{$ENDIF}
De esa forma, de acuerdo a que compilador compile tu codigo, incluira una u otra constante
BDWONG
11-01-2016, 02:21:14
Hola mira esta opcion usando la api de windows http://stackoverflow.com/questions/1436185/how-can-i-tell-if-im-running-on-x64
wolfran_hack
11-01-2016, 02:39:03
Perfecto, exactamente eso necesitaba.
AgustinOrtu
11-01-2016, 03:31:17
A la que esta compilado el programa.
La funcion que se encuentra en el hilo de StackOverflow (http://stackoverflow.com/questions/1436185/how-can-i-tell-if-im-running-on-x64) evalua si el equipo esta corriendo bajo Windows de 64 bits; no evalua tu ejecutable
Osea que lo que queres saber vos es determinar si el sistema operativo es de 32 o 64 bits. Eso lo podes hacer usando la RTL de Delphi
TOSVersion (http://docwiki.embarcadero.com/Libraries/Seattle/en/System.SysUtils.TOSVersion)
uses
SysUtils;
begin
if TOSVersion.Architecture in [arIntelX64, arARM64] then
ShowMessage('Sistema operativo de de 64 bits')
else
ShowMessage('Sistema operativo de de 32 bits')
end;
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.