- ベストアンサー
MDB のIsOpenに続くOpenで。
MFC6.0のCDao***クラスにてAccess2000のMDBファイルを作成するプログラムを作っています。 このMDBは2つのプロセスそれぞれで更新のため利用されるので、 必ずIsOpen()で確認してFALSEであれば共有モードでOpen()、 というコードにしているのですけど、このOpen()のタイミングで「ファイルをロックできませんでした」という例外がcatchされてしまいます。 ファイルロックなんてしてないはずなのに、どうしてこんな現象が起きるのでしょうか? どなたかご存知でしたら、教えてください。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
回答がないようなので…… 2プロセスだったら IsOpen で見ても排他できないんじゃないかしら? いや全然詳しく見たわけじゃないけど、IsOpen ってニュアンスからして「自分が接続しているか」なので Open() の前に IsOpen 呼んでも常にFALSEが返って来る気がしますが?
お礼
お礼が遅くなって申し訳ありません。 自宅のPCがウィルスにやられてしまいました。トロイの木馬です(+_+)。 _ak1さんがっしゃるような記述はMSDNなどに見つかりませんでしたが、ソースコードをよ~っく見直したらおかしなところがあり、そこを直してみたら出なくなりました。(~_~メ) 変な質問にお答えいただき、ありがとうございました♪