今年2年目の後輩からの質問。
VB4.0のアプリでEXEを直接実行だと、問題なく動作できて、
デバッグ実行だとOpenDatabase関数で「メモリ不足」のエラーとなる。
これがカスタマイズの為なら、捨てましょうと上に進言して終わらせる所だが、
Delphiでのリプレースの為の動作仕様確認だったので調べてみた。
とりあえず怪しいのがこのOpenDatabase関数。
F1でヘルプを引くと、別なものが出てくるのでAPIかOLEという事になる。
確かDAOの関数だったかな?と記憶を便りに参照設定を見てみると、
DAO 2.5/3.0 Compatibilityがチェックしてある。
Windows2000以降では確かDAOは3.5以降だったよなぁとか、
予想を頼りに前者のチェックを外して3.5にチェックを入れると問題なく動作。
今回は運良く分かったが、VBはこの手の謎動作がホント多い。
にしても、バージョン違いの誤動作に対して、「メモリ不足」なんてエラー内容はホント勘弁願いたい。