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:
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;
Diese Funktion befindet sich in meiner
DLL und wird dort auch aufgerufen.
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