• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++BuilderにてEFCreateErrorが回避できません)

C++BuilderにてEFCreateErrorが回避できません

このQ&Aのポイント
  • C++Builderにてファイルの保存時にEFCreateErrorが発生してしまいます
  • OpenDialogを使用してファイルパスを選択した場合にのみエラーが発生します
  • 手入力での保存は正常に行えるため、原因はOpenDialogの使用にある可能性があります

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

  • ベストアンサー
  • KoHal
  • ベストアンサー率60% (110/181)
回答No.1

SaveToFileで指定したファイルパスに問題がありそうですね。 1.指定したファイルがすでに存在し、それを別のプロセスが開いていて書き込みが出来ない状態である。 2.指定したディレクトリが存在しない。 3.指定したディレクトリに書き込みが許されていない。 OpenDialogを使用したときのみ例外が発生するということは、ひょっとして保存ファイルを相対パスで指定してませんか? OpenDialogはカレントディレクトリを変更するので2.3.がおきる可能性があります。

chanter
質問者

お礼

大変的確なご回答ありがとうございます。 なるほど~OpenDialogはカレントディレクトリを変更するのですか・・・。 デスクトップにテスト用のjpegを置いてそれを読み、アプリの格納されているディレクトリ内のDataディレクトリ内にそのテキストファイルを保存しようと相対パスで指定しておりました。 OpenDialogを開いた際にカレントディレクトリがアプリ格納ディレクトリからデスクトップディレクトリに変わってしまっていたのですね。。。 大変的確にご回答頂きまして、とても助かりました。ありがとうございました。また宜しくお願いいたします。

関連するQ&A