AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Versionsinfo auslesen?

Ein Thema von Borschti · begonnen am 9. Apr 2008 · letzter Beitrag vom 18. Mai 2017
Antwort Antwort
Seite 2 von 2     12   
EWeiss
(Gast)

n/a Beiträge
 
#11

AW: Versionsinfo auslesen?

  Alt 18. Mai 2017, 06:14
Zitat:
PWideChar und nicht PChar
PChar wir doch vom Compiler automatisch nach PWideChar gecastet oder?

sollte eigentlich kein Problem sein.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Versionsinfo auslesen?

  Alt 18. Mai 2017, 08:37
GetFileVersionInfoA -> PAnsiChar
GetFileVersionInfoW -> PWideChar
GetFileVersionInfo -> PChar

Welcher Typ der richtige ist, hängt also vom Aufruf ab. Somit sollte der gepostete Code sowohl in Ansi als auch Unicode korrekt sein, da Typ-Aliase verwendet werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#13

AW: Versionsinfo auslesen?

  Alt 18. Mai 2017, 08:56
Der oben genannte Code ist unvollständig: es fehlt die Build-Version.
Delphi-Quellcode:
function GetAppVersionStr: string;
var
  Exe: string;
  Size, Handle: DWORD;
  Buffer: TBytes;
  FixedPtr: PVSFixedFileInfo;
begin
  Exe := ParamStr(0);
  Size := GetFileVersionInfoSize(PChar(Exe), Handle);
  if Size = 0 then RaiseLastOSError;
  SetLength(Buffer, Size);
  if not GetFileVersionInfo(PChar(Exe), Handle, Size, Buffer) then
    RaiseLastOSError;
  if not VerQueryValue(Buffer, '\', Pointer(FixedPtr), Size) then
    RaiseLastOSError;
  Result := Format('%d.%d, Release: %d, Build: %d',
    [LongRec(FixedPtr.dwFileVersionMS).Hi, //major
     LongRec(FixedPtr.dwFileVersionMS).Lo, //minor
     LongRec(FixedPtr.dwFileVersionLS).Hi, //release
     LongRec(FixedPtr.dwFileVersionLS).Lo]) //build
end;
Aufruf:
caption:= 'Version: '+GetAppVersionStr; -----------------------------
Ausgabe-Beispiel:
Version: 1.2, Release: 3, Build: 4

Geändert von t.roller (18. Mai 2017 um 08:59 Uhr)
  Mit Zitat antworten Zitat
matze8426
(Gast)

n/a Beiträge
 
#14

AW: Versionsinfo auslesen?

  Alt 18. Mai 2017, 11:46
Vielen Dank für die ausführlichen Antworten. Es funktioniert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz