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

War es hilfreich?

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
  ...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top