Delphi XE2是否删除了IsWinNT功能?

时间:2011-12-01 22:06:16

标签: windows delphi delphi-xe2 virtualtreeview

移植到XE2,我有一行IsWinNT编译在7和Delphi 2009中,从来没有给我们任何guff。

我不确定这样一个功能的用途是什么,但它被删除或移动了吗?

什么是类似的功能?


我很糟糕,那是在Virtual Trees中。对不起伙计-1对我来说。房子里免费+ 1个

3 个答案:

答案 0 :(得分:6)

我不知道这样的功能,但你可以使用这段代码

if Win32Platform = VER_PLATFORM_WIN32_NT then 

FYI Delphi XE2仅在基于WinNT的系统上运行

答案 1 :(得分:5)

在Delphi 2009中,没有IsWinNT功能。此外,没有像这样命名的Windows API函数。很可能你很困惑:也许IsWinNT是您使用的某些第三方库的一部分?

无论如何,如果您只是针对Windows平台,那么您可以将该功能实现为

function IsWinNT: boolean;
begin
  result := true;
end;

因为自从(包括)XP以来的每个Windows版本都基于NT。

答案 2 :(得分:3)

我在任何一个Delphi(D6,D2010,DXE2)中找不到该功能。我会像这样测试NT:

Win32Platform = VER_PLATFORM_WIN32_NT

此测试在XE2上有点多余,因为它不再支持目标非NT版本的Windows。我最近没有尝试在Win9x上运行XE2生成的可执行文件,所以当你这样做时我不知道它是否会失败。

在XE2中,您现在可以使用TOSVersion。例如,要检查您是否在Windows XP或更高版本上运行,您只需执行以下操作:

if (TOSVersion.Platform=pfWindows) and (TOSVersion.Check(5, 1)) then
  ...