始めまして。よくこのHPにはお世話になってます。
ここのHPにもサンプルで載っているのですが、
メモリ情報の獲得を行うためのAPIですが、
NT(4.0 SP6)では問題なく処理されていたのですが、
Win2000にしたら、トータルメモリがマイナスになってしまいます。
値を見比べたら合ってそうなので単純に−1を掛けて逃げてるのですが、
こんなんで良いのでしょうか?
GlobalMemoryStatus を使っているんですよね?
…Win2000でマイナスになるというような現象はうちのPCでは起きてません。
はい。普通に表示されています。
VBのSP、Win2000のSPナンバーを確認してみてください。
蜻蛉さん、返信ありがとうございます。
>GlobalMemoryStatus を使っているんですよね?
その通りです。
ちなみに2000のSPは2で、
VBのSPは5です。
社内でSP5の使用は禁止と言う事だったのですが、
そこになにかあるのでしょうかね?
2,147,483,647バイト以上のメモリをつんでる、
なんてことないでしょうね?
もしそうなら、VBのLong型ではオーバーフローします。
NT 環境と 2k 環境のメモリ量は同じですか?
もしもオーバーフローしてるなら負の数になる場合があります。
でも2GBもメモリ積んでたら普通はServerなので…
もっと変数を大きな型に変えてみてください…
バリアント型は便利ですが遅いのでやめておきましょう。
Sayさんカキコありがとうございました。
実メモリは1GBですが、仮想も1.5Gせっていされていて、
仮想を512Mにおとしてみたところ、
正常に動作しました。
ありがとうございました。
ツイート | ![]() |