移植到XE2,我有一行IsWinNT
编译在7和Delphi 2009中,从来没有给我们任何guff。
我不确定这样一个功能的用途是什么,但它被删除或移动了吗?
什么是类似的功能?
我很糟糕,那是在Virtual Trees中。对不起伙计-1对我来说。房子里免费+ 1个
答案 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
...