Cómo recuperar el número de versión de la aplicación
Artículo por Club Developers · 31 diciembre 2005
5884 vistas
Para poder recuperar este tipo de información, será necesario tener activada la casilla "Include versión information in project" en Projet|Option|Version Info, sino, la función provocarÃa una violación de acceso
delphi
function ApplicationVersion: String var VerInfoSize, VerValueSize, Dummy: DWord; VerInfo: Pointer; VerValue: PVSFixedFileInfo; begin VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy); { dos soluciones } if VerInfoSize <> 0 then { - la información de versión está incluida } begin { guardamos la memoria necesaria para el puntero de la información de versión } GetMem(VerInfo, VerInfoSize); { recuperamos dicha información } GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo); VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize); { tratamos la información recuperada } with VerValue^ do begin Result := IntTostr(dwFileVersionMS shr 16); Result := Result + '.' + IntTostr(dwFileVersionMS and $FFFF); Result := Result + '.' + IntTostr(dwFileVersionLS shr 16); Result := Result + '.' + IntTostr(dwFileVersionLS and $FFFF); end; { liberamos la memoria } FreeMem(VerInfo, VerInfoSize); end else { - La versión no está incluida } { lanzamos excepción } raise EAccessViolation.Create('La información de versión no está incluida'); end;


