Thema: Delphi Programm Version Info

Einzelnen Beitrag anzeigen

Willie1

Registriert seit: 28. Mai 2008
618 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Programm Version Info

  Alt 4. Dez 2008, 09:29
Hallo Leute,
ich benutze folgende Funktion, um die Programm Version zu ermitteln. Bei einem Testprogramm klappt das auch, aber bei einem größerem Programm liefert es "Die Daten sind unzulässig" zurück. (GetLastError) - <Versionsinfo in das Projekt übernehmen> ist angehakt. Woran kann das liegen???


Delphi-Quellcode:
  function GetFileVersion(const FileName: string): string;
  var
    VersionInfoSize, VersionInfoValueSize, Zero: DWord;
    VersionInfo, VersionInfoValue: Pointer;
  begin

    Result := '';
    VersionInfoSize := GetFileVersionInfoSize(PChar(FileName), Zero);
    Result := SysErrorMessage(GetLastError);
    if VersionInfoSize = 0 then Exit; //<<<------------------------------------------------------------------------
        
    GetMem(VersionInfo, VersionInfoSize);
    try
      if GetFileVersionInfo(PChar(FileName), 0, VersionInfoSize, VersionInfo) and
        VerQueryValue(VersionInfo, '\{ root block }, VersionInfoValue,
        VersionInfoValueSize) and (0 <> LongInt(VersionInfoValueSize)) then
      begin
        with TVSFixedFileInfo(VersionInfoValue^) do
          Result := Format('%d.%d.%d Build %d',[HiWord(dwFileVersionMS),
                                                LoWord(dwFileVersionMS),
                                                HiWord(dwFileVersionLS),
                                                LoWord(dwFileVersionLS)]);
      end;
    finally
      FreeMem(VersionInfo);
    end; {try}

  end; {GetFileVersion}
MfG Willie
  Mit Zitat antworten Zitat