Récupérer le numéro de version de mon projet
Salut
Je cherche à récupérer le numéro de version de mon projet. En Delphi j'avais le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
function TMainForm.ApplicationVersion: string;
var
VerInfoSize, VerValueSize, Dummy: DWord;
VerInfo: Pointer;
VerValue: PVSFixedFileInfo;
begin
VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
{Deux solutions : }
if VerInfoSize <> 0 then
{- Les info de version sont inclues }
begin
{On alloue de la mémoire pour un pointeur sur les info de version : }
GetMem(VerInfo, VerInfoSize);
{On récupère ces informations : }
GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
{On traite les informations ainsi récupérées : }
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;
{On libère la place précédemment allouée : }
FreeMem(VerInfo, VerInfoSize);
end
else
{- Les infos de version ne sont pas inclues }
{On déclenche une exception dans le programme : }
raise
EAccessViolation.Create('Les informations de version de sont pas inclues');
end; |
Mais Lazarus bloque sur
VerValue: PVSFixedFileInfo;
Si quelqu'un à déjà fait la manip