Thema: Delphi Versionsinfo auslesen?

Einzelnen Beitrag anzeigen

Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#1

Versionsinfo auslesen?

  Alt 9. Apr 2008, 16:55
Hi,

Ich möchte die Infodatei meines Delphi Programms von Projekt --> Optionen --> Versionsinformationen auslesen, dazu habe Ich in der CodeLib diesen Code von Luckie gefunden:

Delphi-Quellcode:
function GetFileInfo(
  var aInternalName, aFileVersion: String; FileName: AnsiString
): Boolean;
var
  VersionInfoSize, VerInfoSize, GetInfoSizeJunk: DWORD;
  VersionInfo, Translation, InfoPointer: Pointer;
  VersionValue: AnsiString;
begin
  Result := False;
  VerInfoSize := GetFileVersionInfoSize(PChar(FileName), GetInfoSizeJunk);
  if VerInfoSize > 0 then
  begin
    GetMem(VersionInfo, VerInfoSize);
    try
      GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VersionInfo);
      VerQueryValue(
        VersionInfo, '\\VarFileInfo\\Translation', Translation, VerInfoSize
      );
      VersionValue :=
        '\\StringFileInfo\\' + IntToHex(LoWord(LongInt(Translation^)), 4) +
        IntToHex(HiWord(LongInt(Translation^)), 4) + '\\';
      VersionInfoSize := 0;

      VerQueryValue(
        VersionInfo, PChar(VersionValue + 'InternalName'), InfoPointer,
        VersionInfoSize
      );
      aInternalName := AnsiString(PChar(InfoPointer));

      VerQueryValue(
        VersionInfo, PChar(VersionValue + 'FileVersion'), InfoPointer,
        VersionInfoSize
      );
      aFileVersion := AnsiString(PChar(InfoPointer));

    finally
      FreeMem(VersionInfo);
    end;
    aInternalName := Trim(aInternalName);
    aFileVersion := Trim(aFileVersion);
    Result := (aInternalName <> '') and (aFileVersion <> '');
  end;
end;
Nun verstehe Ich nicht welche Parameter Ich der Funktion übergeben muss und wo dann die Versionsinfos dann gepeichert werden, weil die Funktion gibt einen Wert vom Typ Boolean zurück. Wie kann Ich also die erhaltenen Informationen dann irgendwo anzeigen lassen und welche Parameter müssen übergeben werden, Ich kann mit denen im Funktionskopf stehenden nicht viel anfangen

Schonmal danke für die Antworten.

mfg
Alex
  Mit Zitat antworten Zitat