ADOを使用した時に起こるバグ


ビギナー君  2003-02-24 12:24:05  No: 51104  IP: [192.*.*.*]

元々、SYBASEというものを使っていたプログラムをSQLServerを使用したものに変更する作業を任され、ADOというものを使ってみることにしました。
そこでstdafx.hに
#import "C:\program files\common files\system\ado\msado15.dll" no_namespace   rename ("EOF", "adoEOF" )
// VC++エクステンション(レコードバインディング)を使用する
#include "icrsint.h"
を加えてプログラムを動かしてみたところ、ダイアログを閉じた時、
ハンドルされていない例外はMSVCRTD.DLL中にありますという警告文がでて
正常にダイアログを閉じれません。これの対処法を教えてください。
お願いします。
PS.VC++6.0を使用しています。Dbgheap.cというとこで何故かおちてるみたいです。

編集 削除
とおりすがり  2003-02-24 16:32:16  No: 51105  IP: [192.*.*.*]

名前空間を使って解決してはどうですか?
私は以前、同じような現象がでたので、色々と調べた結果、「EOF」あたりがおかしい事に気づいたので、以下のようにしました。

#define INITGUID_ADO
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")
using namespace ADOCG;  // 名前空間
#include "icrsint.h"

編集 削除
ビギナー君  2003-02-25 13:25:28  No: 51106  IP: [192.*.*.*]

とおりすがりさんのいうように変更してみましたが相変わらず同じようにダイアログを正常に閉じられません。誰かこの状況を打開するすべを知る人がいればご回答よろしくお願いします。

編集 削除
とおりすがり  2003-02-25 16:25:07  No: 51107  IP: [192.*.*.*]

MSVCRTD.DLLがおかしい可能性があるので、最新をダウンロードしてみてはいかがでしょうか?

編集 削除
ビギナー君  2003-02-27 09:17:05  No: 51108  IP: [192.*.*.*]

MSVCRTD.DLLを探してみたんですがどれが最新版なのかわからず、とりあえずみつけたMSVCRTD.DLLをダウンロードして動かしてみましたがバグは、相変わらずでした(涙。。

編集 削除
とおりすがり  2003-02-27 17:17:33  No: 51109  IP: [192.*.*.*]

ところで、MSVCRTD.DLLってデバッグ用のDLLですよね?
リリースコンパイルしても駄目ですか?

編集 削除