![]() |
Unter Projekt-Optionen eingestellte Ver.Nr.von DLL ermitteln
Hallo Forum.
Ich möchte die unter Projekt-Optionen eingestellte Versionsnummer meiner DLL ermitteln. Ich habe hier per Sufu Code dazu gefunden und ein wenig angepasst:
Delphi-Quellcode:
Diese Funktion befindet sich in meiner DLL und wird dort auch aufgerufen.
function GetFileVersion: string;
var i, W : LongWord; P : Pointer; FI : PVSFixedFileInfo; begin Result := 'NoVersionInfo'; i := GetFileVersionInfoSize(PChar(ParamStr(0)), W); if i = 0 then Exit; GetMem(P, i); try if not GetFileVersionInfo(PChar(ParamStr(0)), W, i, P) or not VerQueryValue(P, '\', Pointer(FI), W) then Exit; Result := IntToStr(FI^.dwFileVersionMS shr 16) + '.' + IntToStr(FI^.dwFileVersionMS and $FFFF) + '.' + IntToStr(FI^.dwFileVersionLS shr 16) + ' Build:' + IntToStr(FI^.dwFileVersionLS and $FFFF); if FI^.dwFileFlags and VS_FF_DEBUG <> 0 then Result := Result + ' debug'; if FI^.dwFileFlags and VS_FF_PRERELEASE <> 0 then Result := Result + ' beta'; if FI^.dwFileFlags and VS_FF_PRIVATEBUILD <> 0 then Result := Result + ' private'; if FI^.dwFileFlags and VS_FF_SPECIALBUILD <> 0 then Result := Result + ' special'; finally FreeMem(P); end; end; Funktioniert soweit eigentlich gut. Das Problem ist nur, dass die Versionsnummer der Applikation ermittelt wird, welche die DLL einbindet. Wie kann ich es bewerkstelligen, dass stattdessen die Versionsnummer der DDL ermittelt wird? Vielen Dank |
Re: Unter Projekt-Optionen eingestellte Ver.Nr.von DLL ermit
Hallo,
mit ParamStr(0) verwendest du den Namen der hosting application, schau dir mal die Dokumentation zur API Funktion GetModuleName() an. Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:12 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