• ベストアンサー

MDB のIsOpenに続くOpenで。

MFC6.0のCDao***クラスにてAccess2000のMDBファイルを作成するプログラムを作っています。 このMDBは2つのプロセスそれぞれで更新のため利用されるので、 必ずIsOpen()で確認してFALSEであれば共有モードでOpen()、 というコードにしているのですけど、このOpen()のタイミングで「ファイルをロックできませんでした」という例外がcatchされてしまいます。 ファイルロックなんてしてないはずなのに、どうしてこんな現象が起きるのでしょうか? どなたかご存知でしたら、教えてください。よろしくお願いします。

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

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

回答がないようなので…… 2プロセスだったら IsOpen で見ても排他できないんじゃないかしら? いや全然詳しく見たわけじゃないけど、IsOpen ってニュアンスからして「自分が接続しているか」なので Open() の前に IsOpen 呼んでも常にFALSEが返って来る気がしますが?

secma
質問者

お礼

お礼が遅くなって申し訳ありません。 自宅のPCがウィルスにやられてしまいました。トロイの木馬です(+_+)。 _ak1さんがっしゃるような記述はMSDNなどに見つかりませんでしたが、ソースコードをよ~っく見直したらおかしなところがあり、そこを直してみたら出なくなりました。(~_~メ) 変な質問にお答えいただき、ありがとうございました♪