Est-ce que Delphi XE2 supprimer la fonction IsWinNT?
-
27-10-2019 - |
Question
à XE2 et Porting j'ai une IsWinNT
ligne qui a compilé dans 7 et Delphi 2009 et ne nous a donné aucune Guff avant.
Je ne sais pas quel est le but d'une telle fonction est, mais il a été retiré ou déplacé?
et ce qui est une fonction comparable?
Mon mauvais, il était dans les arbres virtuels HAR. Désolé les gars -1 pour moi. Gratuit + 1 est la maison
La solution
Dans Delphi 2009, il n'y a pas de fonction IsWinNT
. De plus, il n'y a pas de fonction de l'API Windows nommé comme ça. Très probablement, vous êtes confus:? Peut-être IsWinNT
faisait partie d'une bibliothèque 3ème partie que vous avez utilisé
Quoi qu'il en soit, si vous ne ciblez la plate-forme Windows, vous pouvez mettre en œuvre la fonction
function IsWinNT: boolean;
begin
result := true;
end;
depuis toutes les versions de Windows depuis (et y compris) XP a été basé sur NT.
Autres conseils
Je ne sais pas cette fonction, mais vous pouvez utiliser ce code
if Win32Platform = VER_PLATFORM_WIN32_NT then
Pour votre information Delphi XE2 ne fonctionne que sur les systèmes WinNT
Je ne peux pas trouver cette fonction dans aucun de mes de Delphi (D6, D2010, DXE2). Je tester NT comme ceci:
Win32Platform = VER_PLATFORM_WIN32_NT
Ce test est un peu redondant sur XE2 car elle ne prend plus les versions non ciblant NT de Windows. Je ne l'ai pas fait essayé de courir un produit XE2 exécutable récemment sur Win9x donc je ne sais pas si elle échoue ou pas quand vous le faites.
Dans XE2 vous pouvez maintenant utiliser TOSVersion
. Par exemple, pour vérifier que vous exécutez sur Windows XP ou jusqu'à vous faire simplement:
if (TOSVersion.Platform=pfWindows) and (TOSVersion.Check(5, 1)) then
...