![]() |
Versionsinfo?
Hallo Leuts,
in der Delphi-IDE gibts doch unter Projekte/Optionen die möglickeit die Version "mit hoch zuzählen", also bei jeder neu Compilierung.Und noch einige andere Dinge.Kann man diese Infos irgendwo weiterverarbeiten oder sind sie nur unter diesen Punkten sichtbar? Grüsse |
Du kannst diesen Versionsblock auslesen und z.B. innerhalb einer About-Box anzeigen lassen. Schau dir dazu mal die API-Funktionen GetFileVersionInfoSize und GetFileVersionInfo an.
Außerdem, aber das weißt du bestimmt, stehen diese Werte auch in den Datei-Eigenschaften, z.B. im Explorer (Rechtsklick usw.) - unter XP werden die Versionsinfos zum Teil gleich mit angezeigt; je nach Ansicht. |
Siehste ! GetFileVersionInfo.... kannte ich noch nicht!
Wieder was dazugelernt danke! |
Hier noch ein kurzes Beispiel zum Thema Versioninfos
Code:
Vielleicht hilft es Dir weiter. Der Parameter aDepends kommt aus unserer Produktreihe und ist standardmäßig nicht vorhanden, gibt Dir aber das Beispiel für freie Versionsinformationen.
function GetFileInfo(
var aInternalName, aFileVersion, aDepends: ShortString; 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)); if VerQueryValue( VersionInfo, PChar(VersionValue + 'Depend'), InfoPointer, VersionInfoSize ) then aDepends := AnsiString(PChar(InfoPointer)) else aDepends := ''; finally FreeMem(VersionInfo); end; aInternalName := Trim(aInternalName); aFileVersion := Trim(aFileVersion); Result := (aInternalName <> '') and (aFileVersion <> ''); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz