Hat Delphi XE2 die Iswinnnt -Funktion entfernen?
-
27-10-2019 - |
Frage
Portierung auf XE2 und ich habe eine Linie IsWinNT
Das wurde in 7 und Delphi 2009 zusammengestellt und gab uns noch nie einen Gachen.
Ich bin mir nicht sicher, was der Zweck einer solchen Funktion ist, aber wurde sie entfernt oder bewegt?
Und was ist eine vergleichbare Funktion?
Mein schlechtes, es war in virtuellen Bäumen Har. Entschuldigung Jungs -1 für mich. Kostenlos +1 am Haus
Lösung
In Delphi 2009 gibt es keine IsWinNT
Funktion. Außerdem gibt es keine so genannte Windows -API -Funktion. Höchstwahrscheinlich sind Sie verwirrt: Vielleicht IsWinNT
War ein Teil einer 3. Partnerbibliothek, die Sie verwendet haben?
Wenn Sie nur auf die Windows -Plattform abzielen, können Sie die Funktion als implementieren
function IsWinNT: boolean;
begin
result := true;
end;
Seit jeder Windows -Version seit (und einschließlich) XP basiert XP auf NT.
Andere Tipps
Ich kenne eine solche Funktion nicht, aber Sie können diesen Code verwenden
if Win32Platform = VER_PLATFORM_WIN32_NT then
FYI Delphi XE2 läuft nur auf WINNT -basierten Systemen
Ich kann diese Funktion in keinem meiner Delphi (D6, D2010, DXE2) finden. Ich würde für nt so testen:
Win32Platform = VER_PLATFORM_WIN32_NT
Dieser Test ist auf XE2 ein wenig überflüssig, da er nicht mehr das Ziel-Targeting von Nicht-NT-Versionen von Windows unterstützt. Ich habe in letzter Zeit nicht versucht, ein XE2 ausführbar ausführend auf Win9x auszuführen, daher weiß ich nicht, ob es fehlschlägt oder nicht, wenn Sie dies tun.
In xe2 können Sie jetzt nutzen TOSVersion
. Um beispielsweise zu überprüfen, ob Sie unter Windows XP oder Up ausgeführt werden, würden Sie einfach:
if (TOSVersion.Platform=pfWindows) and (TOSVersion.Check(5, 1)) then
...