Einzelnen Beitrag anzeigen

Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#1

Unter Projekt-Optionen eingestellte Ver.Nr.von DLL ermitteln

  Alt 24. Jul 2008, 10:04
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
  Mit Zitat antworten Zitat