Hallo ich habe auf einmal das Problem (weiss nicht ob es an XE o. W/ liegt habe beides zeitlgeich gewechselt) das ich nur noch Müll beim Auslesen meienr Exe File Version erhalte...
Nutze bis dato ohne Fehler:
Delphi-Quellcode:
function GetFileVersion(const FileName: string): string;
var i, W: LongWord;
P: Pointer;
FI: PVSFixedFileInfo;
begin
Result := 'NoVersionInfo';
i := GetFileVersionInfoSize(PWideChar(FileName), W);
if i = 0 then Exit;
GetMem(P, i);
try
if not GetFileVersionInfo(PWideChar(FileName), 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)
+ '.' + 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;
Nun bekomme ich total andere Werte... keine Ahnung warum