• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GetProcessWorkingSetSizeでエラーが発生します)

GetProcessWorkingSetSizeでエラーが発生する VB6で画像処理アプリケーションの開発ができない

このQ&Aのポイント
  • VB6で画像処理アプリケーションの開発を行っている方が、GetProcessWorkingSetSizeの部分でエラーが発生しています。
  • 使用PCによっては、Visual Basicが問題が発生したため終了してしまう場合もあります。
  • 原因が分からず、アドバイスを求めています。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>使用PCにより、「問題が発生したため、Visual Basic を終了します。 ご不便をおかけして申し訳ありません。」や有無を言わさず開発環境が終了してしまう場合がありますが、いずれにしても原因が分かりません。 環境による…のですから、まずはその環境の差異を確認されては? http://msdn.microsoft.com/ja-jp/library/cc429141.aspx によると、Win9x系では動作しない可能性がありそうですが…。 # kernel32.dllにGetProcessWorkingSetSize()がエクスポートされていない。 # エクスポートされているが中身は何もしない(例外を発生させるだけ)な子動作になっている。とか…。 VBではよくわかりませんが、変数のアドレスが正しく渡せていない…とか。 http://www.google.co.jp/search?hl=ja&num=30&q=VB+API+%E5%A4%89%E6%95%B0+%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja # 適当に検索。 # Declare Function GetProcessWorkingSetSize Lib "kernel32" (ByVal qq As Integer, 【ByVal】 pp As Integer, 【ByVal】 rr As Integer) As Long # ではアドレス渡せていないような気がするのは気のせいでしょうか?

kyabanock
質問者

お礼

ご回答ありがとうございます。 ご指摘の通り、【ByVal】を【Byref】に変更すると、ご質問したような問題が発生しなくなりました。ただ、型が違いますとのエラーが発生したため、As Integerを Longに変更したところ、動作致しました。 朝から半日悩んでおりましたので大変助かりました。本当にありがとうございました。

関連するQ&A