Hallo zusammen,
funktioniert der folgende Code auch mit Delphi 10 Tokyo? Welche Units muss ich einbinden? Über Refactoring
Unit suchen habe ich
WinApi.Windows hinzugefügt.
Aber GetFileVersionInfo oder z.B. GetMem findet er nicht. Laut der Hilfe gibt es die Funktion GetFileVersionInfo auch nicht, aber GetFileVersion. Aber auch die wird als undeklarierter Bezeichner angemeckert...
Hallo, ich verwende immer diese Funktion:
Delphi-Quellcode:
function GetCurrentVersion: String;
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
begin
VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
with VerValue^ do begin
Result := 'Version '+IntToStr(dwFileVersionMS shr 16);
Result := Result + '.' + IntToStr(dwFileVersionMS and $FFFF);
Result := Result + '.' + IntToStr(dwFileVersionLS shr 16);
end;
FreeMem(VerInfo, VerInfoSize);
end;
Sie liefert einen String, der die Version enthält und funktioniert eigentlich in allen Delphi-Versionen ab 6.
Man muss natürlich in den Projectoptionen auch die Versionsangabe freischalten, sonst wirft die Function nen Error.