Einzelnen Beitrag anzeigen

musicman56
(Gast)

n/a Beiträge
 
#8

AW: Falscher Product Type in OSVersionInfoEx

  Alt 11. Dez 2012, 09:39
Zitat:
Ich versuche mich auch bei dir nochmals an dem Hinweis: Boolean ist nicht BOOL (aka LongBool).
Ich hab's natürlich aufgrund deines Hinweises der Vollständigkeit halber VORHER noch mal ausprobiert. Weil man sich im Lauf der Jahre daran gewöhnt hat, dass ein BOOL mit einem Boolean "kompatibel" ist. "0000" ist ja auch das selbe wie "00" oder "0"...es wird einfach nicht mehr wie "true", egal wieviele Nullen man ran hängt

function GetOSVersionInfo(var OSInfo: TOSVersionInfoEx): boolean;
begin
FillChar(OSInfo,SizeOf(OSInfo),0);
// OSInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfoEx);
Result := GetVersionEx(OSInfo);
end;

und schon ist der Result false. Es klappt also immer noch

Hab soeben noch den WindowsVersionString erweitert, weil man ja - wenn es beim Kunden klemmt - wissen muss, wo man bei neuen unbekannten Versionen nachbessern/erweitern muss:

Zitat:
function WindowsVersionString : string;
const
CrLf = #13#10;
var
OSInfo : TOSVersionInfoEx;
begin
if not GetOSVersionInfo(OSInfo)
then Result := GetWinVersionString(GetWinVersion(OSInfo))
else Result := rsUnknownWinVer+CrLf
+'MajorVersion: '+IntToStr(OSInfo.dwMajorVersion)+CrLf
+'MinorVersion: '+IntToStr(OSInfo.dwMinorVersion)+CrLf
+'ProductType: '+IntToStr(OSInfo.wProductType)+CrLf
+'BuildNumber: '+IntToStr(OSInfo.dwBuildNumber);
end;

Geändert von musicman56 (11. Dez 2012 um 09:57 Uhr)
  Mit Zitat antworten Zitat