XE2 への移植IsWinNT
で、7 と Delphi 2009 でコンパイルされた行があり、以前はまったく問題がありませんでした。
そのような機能の目的が何なのかわかりませんが、削除または移動されましたか?
比較可能な機能とは何ですか?
残念ながら、それは Virtual Trees har にありました。申し訳ありませんが、私は-1です。家の無料 +1
XE2 への移植IsWinNT
で、7 と Delphi 2009 でコンパイルされた行があり、以前はまったく問題がありませんでした。
そのような機能の目的が何なのかわかりませんが、削除または移動されましたか?
比較可能な機能とは何ですか?
残念ながら、それは Virtual Trees har にありました。申し訳ありませんが、私は-1です。家の無料 +1
そのような機能は知りませんが、このコードを使用できます
if Win32Platform = VER_PLATFORM_WIN32_NT then
参考までに、Delphi XE2 は WinNT ベースのシステムでのみ動作します
Delphi 2009 では、IsWinNT
関数はありません。また、そのような名前の Windows API 関数はありません。ほとんどの場合、混乱している可能性があります。おそらくIsWinNT
、使用したサードパーティのライブラリの一部でしたか?
とにかく、Windows プラットフォームのみをターゲットにしている場合は、次のように関数を実装できます。
function IsWinNT: boolean;
begin
result := true;
end;
XP以降(およびXPを含む)のすべてのWindowsバージョンはNTに基づいています。
Delphi(D6、D2010、DXE2)のいずれにもその関数が見つかりません。次のように NT をテストします。
Win32Platform = VER_PLATFORM_WIN32_NT
XE2 では、Windows の非 NT バージョンのターゲットをサポートしなくなったため、このテストは少し冗長です。最近、XE2 で生成された実行可能ファイルを Win9x で実際に実行しようとしたことがないので、実行したときに失敗するかどうかはわかりません。
XE2 では、 を利用できるようになりTOSVersion
ました。たとえば、Windows XP 以降で実行していることを確認するには、次のようにします。
if (TOSVersion.Platform=pfWindows) and (TOSVersion.Check(5, 1)) then
...