Einzelnen Beitrag anzeigen

Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#11

AW: Delphi 10.2 Tokyo Starter

  Alt 26. Jul 2017, 20:44
Es gelingt mir nicht die VersionInfo einzulesen.
Ich habe mit beiden Infostrings ausprobiert, aber es liegt anscheinlich an was anderen.
Hat jemand eine Idee, warum die Funktion in Delphi 10 nicht funktioniert?

Danke in Voraus,
Toni

Diese Prozedur funktioniert unter Delphi 7:
Delphi-Quellcode:
  Procedure SetupProgramVersionData;

    const
      InfoNum = 10;
      InfoStr: array[1..InfoNum] of string =
(* *)
        ('CompanyName', 'FileDescription', 'FileVersion',
         'InternalName', 'LegalCopyright', 'LegalTradeMarks',
         'OriginalFileName', 'ProductName', 'ProductVersion', 'Comments');
(*
        ('Firmenname', 'Beschreibung', 'Dateiversion',
        'InternerName', 'Copyright', 'Warenzeichen',
        'Originaldateiname', 'Produktname', 'Produktversion', 'Kommentare');
*)

    var
      S: string;
      n, Len, i: DWORD;
      Buf: PChar;
      Value: PChar;
      ValueStr: array[1..InfoNum] of string;
    begin // SetupProgramVersionData
      S := Application.ExeName;
      n := GetFileVersionInfoSize(PChar(S), n);
      if n > 0 then begin
        Buf := AllocMem(n);
        GetFileVersionInfo(PChar(S), 0, n, Buf);

        for i := 1 to InfoNum do
          if VerQueryValue(Buf, PChar('StringFileInfo\040704E4\' + InfoStr[i]), Pointer(Value), Len) then begin
            ValueStr[i] := Value;
            end;
        FreeMem(Buf, n);

    end; // SetupProgramVersionData
  Mit Zitat antworten Zitat