- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++BuilderにてEFCreateErrorが回避できません)
C++BuilderにてEFCreateErrorが回避できません
このQ&Aのポイント
- C++Builderにてファイルの保存時にEFCreateErrorが発生してしまいます
- OpenDialogを使用してファイルパスを選択した場合にのみエラーが発生します
- 手入力での保存は正常に行えるため、原因はOpenDialogの使用にある可能性があります
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SaveToFileで指定したファイルパスに問題がありそうですね。 1.指定したファイルがすでに存在し、それを別のプロセスが開いていて書き込みが出来ない状態である。 2.指定したディレクトリが存在しない。 3.指定したディレクトリに書き込みが許されていない。 OpenDialogを使用したときのみ例外が発生するということは、ひょっとして保存ファイルを相対パスで指定してませんか? OpenDialogはカレントディレクトリを変更するので2.3.がおきる可能性があります。
お礼
大変的確なご回答ありがとうございます。 なるほど~OpenDialogはカレントディレクトリを変更するのですか・・・。 デスクトップにテスト用のjpegを置いてそれを読み、アプリの格納されているディレクトリ内のDataディレクトリ内にそのテキストファイルを保存しようと相対パスで指定しておりました。 OpenDialogを開いた際にカレントディレクトリがアプリ格納ディレクトリからデスクトップディレクトリに変わってしまっていたのですね。。。 大変的確にご回答頂きまして、とても助かりました。ありがとうございました。また宜しくお願いいたします。