Fórum Identificar a versão do BDE instalado #344942
23/08/2007
0
Boa tarde,
Alguém sabe como identificar via programação a versão do BDE que esta instalada na máquina do cliente?
Por exemplo identificar se é 5.1.1.1 ou 5.2.0.2 .
O arquivo IDAPI32.DLL contém esta informação, tem alguma forma de ler?
Obrigado
Airton
Alguém sabe como identificar via programação a versão do BDE que esta instalada na máquina do cliente?
Por exemplo identificar se é 5.1.1.1 ou 5.2.0.2 .
O arquivo IDAPI32.DLL contém esta informação, tem alguma forma de ler?
Obrigado
Airton
Airoosp
Curtir tópico
+ 0
Responder
Posts
24/08/2007
Araujojunior
Eu utilizo essa função para pegar a versão do arquivo:
E pode ser implementado assim
function GetFileInfo(FName, InfoType: string): string;
var Info: Pointer;
InfoData: Pointer;
InfoSize: LongInt;
InfoLen: {$IFDEF WIN32}DWORD; {$ELSE}LongInt; {$ENDIF}
DataLen: {$IFDEF WIN32}UInt; {$ELSE}Word; {$ENDIF}
LangPtr: Pointer;
begin
Result := ´´;
DataLen := 255;
if Length(FName) <= 0 then
exit;
FName := FName + #0;
InfoSize := GetFileVersionInfoSize(@Fname[1], InfoLen);
if (InfoSize > 0) then begin
GetMem(Info, InfoSize);
try
if GetFileVersionInfo(@FName[1], InfoLen, InfoSize, Info) then begin
if VerQueryValue(Info, ´\VarFileInfo\Translation´, LangPtr, DataLen) then
InfoType := Format(´\StringFileInfo\¬0.4x¬0.4x\¬s´0,
[LoWord(LongInt(LangPtr^)), HiWord(LongInt(LangPtr^)), InfoType]);
if VerQueryValue(Info, @InfoType[1], InfoData, Datalen) then
Result := strPas(InfoData);
end;
finally
FreeMem(Info, InfoSize);
end;
end;
end;
E pode ser implementado assim
VersionFile := GetFileInfo(FileName, ´FileVersion´) onde FileName é o nome do arquivo.
Responder
Gostei + 0
24/08/2007
Airoosp
Fiz um teste com a função utilizando a DLL e não retornou informação. Funciona apenas para arquivo executável?
Obrigado.
Airton
Obrigado.
Airton
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)