Fórum Diretivas de compilacao #265098
12/01/2005
0
Preciso de um ifDef para reconhecer apenas o windows XP, 2000
pois tenho algumas unit dando problemas com windows 98, ME
alguem pode me ajudar
pois tenho algumas unit dando problemas com windows 98, ME
alguem pode me ajudar
Mfrinfo
Curtir tópico
+ 0
Responder
Posts
12/01/2005
Beppe
O problema é na hora de compilar ou durante a execução do programa? Se for este último, vc não resolve isso com diretivas, mas chamando a API GetVersion(Ex), faça uma pesquisa aqui.
Se for problema pra compilar,acredito que não exista uma diretiva pra isso. Mas você pode criar uma, mas modicar sempre que mudar de máquina.
Se for problema pra compilar,acredito que não exista uma diretiva pra isso. Mas você pode criar uma, mas modicar sempre que mudar de máquina.
Responder
Gostei + 0
12/01/2005
Adriano Santos
Bom cara, estudei bastante de diretivas de compilação e de fato não encontrei nada a respeito de diretivas para sistema operacional a não ser para identificar se é Window ou Linux. Se precisar da função para descobrir o sistema operacional, da uma olhada nisso.
procedure TForm1.Button1Click(Sender: TObject);
var
verInfo: TOsVersionInfo;
str: string;
I: Word;
begin
verInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if GetVersionEx(verInfo) then begin
Label1.Caption := ´Versão : ´ + IntToStr(verInfo.dwMajorVersion) +
IntToStr(verInfo.dwMinorVersion);
Label2.Caption := ´Compilação : ´ + IntToStr(verInfo.dwBuildNumber);
str := ´Sistema Operacional : ´;
case verInfo.dwPlatformId of
VER_PLATFORM_WIN32s: Label3.Caption := str + ´Windows 95´;
VER_PLATFORM_WIN32_WINDOWS: Label3.Caption := str + ´Windows 95 Osr2 / 98´;
VER_PLATFORM_WIN32_NT: Label3.Caption := str + ´Windows NT´;
end;
str := ´´;
for I := 0 to 127 do
str := str + verInfo.szCSDVersion[I];
Label4.Caption := ´Informações Adicionais : ´ + str;
end
end;
procedure TForm1.Button1Click(Sender: TObject);
var
verInfo: TOsVersionInfo;
str: string;
I: Word;
begin
verInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if GetVersionEx(verInfo) then begin
Label1.Caption := ´Versão : ´ + IntToStr(verInfo.dwMajorVersion) +
IntToStr(verInfo.dwMinorVersion);
Label2.Caption := ´Compilação : ´ + IntToStr(verInfo.dwBuildNumber);
str := ´Sistema Operacional : ´;
case verInfo.dwPlatformId of
VER_PLATFORM_WIN32s: Label3.Caption := str + ´Windows 95´;
VER_PLATFORM_WIN32_WINDOWS: Label3.Caption := str + ´Windows 95 Osr2 / 98´;
VER_PLATFORM_WIN32_NT: Label3.Caption := str + ´Windows NT´;
end;
str := ´´;
for I := 0 to 127 do
str := str + verInfo.szCSDVersion[I];
Label4.Caption := ´Informações Adicionais : ´ + str;
end
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)