• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:実行時エラー3035メモリ不足が出てしまいます)

実行時エラー3035メモリ不足が出てしまいます

このQ&Aのポイント
  • Windows7メモリ16GB Access2013環境です。フォルダA、フォルダAのサブフォルダ内にある画像ファイルのファイル名、パス、画像解像度を取得するプログラムを作りました。実行後、3000~4000件前後レコードを書き込んだ時点で、「実行時エラー3035 メモリ不足です。」が表示されプログラムがとまってしまいます。
  • エラー時、フォームからレコードを書き込むプログラムではプロシージャ上、次のレコードへ移動のプログラムが黄表示。レコードをDAOでテーブルに直接書き込むプログラムではupdate行で黄表示でした。タスクマネージャを見たところメモリはプログラム実行前が4.91GB使用中となっておりプログラム実行中10MBずつ使用量が増加し5.1GB程度使用中となったあたりでエラーになります。エラー表示後、ACCESSを終了する際も、エラー番号無しでメモリ不足と表示されるようになってしまいました。
  • 画像解像度を取得するプログラムを省くと問題無くすべて処理が完了することは確認済みです。画像解像度を取得するプログラムは、http://okwave.jp/qa/q5143538.htmlのベストアンサーを使わせて頂きました。単体では、問題無く画像解像度を取得出来ることを確認しました。

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

  • ベストアンサー
回答No.1

読み込んだイメージをGdipDisposeImageで削除してやらないと、メモリに残ったままになってメモリ不足になるんじゃないでしょうか。

jjj22
質問者

お礼

回答ありがとうございます。 関連を調べて、問題が解決しました。

jjj22
質問者

補足

宣言に Private Declare PtrSafe Function GdipDisposeImage Lib "gdiplus.dll" ( _ ByVal image As Long) As Long プログラムの最後に Call GdipDisposeImage(hImage) を追加して、対処できました。

関連するQ&A