- 締切済み
パスの取得
現在開発しているものをおおまかに説明すると, formには,ButtonとMemo1,Memo2があり,Memo1に 文字列を入力しボタンを押すとMemo2に結果が 表示されます。 ボタンを押した時の処理の内容についてですが, Memo1に入力したものをテキストファイルに渡し, ボタンを押して標準入出力のリダイレクトを行います。 そして,結果の入った別のテキストファイルからMemo2へ 表示します。 そこでMemo2に表示された結果をテキストファイルとして MainMenuで保存するようにしたのですが,保存した後, 続けてボタンを押して処理を行おうとすると, パスが保存した場所になり,正しく実行できません。 うまくいかない現象を具体的に… 保存した後に,もう一度処理を行おうとしたとき, Memo1に入力したものが入るテキストファイルが 保存したところのフォルダに作られます。そして, ボタンを押すと,結果が入っているテキストファイルが 開けませんというエラーが出ます。 標準入出力のリダイレクトを行う際,作られる テキストファイルは作成しているアプリケーション と同じフォルダにできるようにしたいので, AnsiString Path = ExtractFilePath( Application->ExeName) + "test.txt"; ↑これで,パスを取得しているのですがうまくいきません。 どうすればよいでしょうか? 分かる方がいましたら,教えて頂けませんか? こんな下手な説明ですみませんが 参考になるサイトでもなんでも結構なので, よろしくお願いしますm(__)m
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tak2003
- ベストアンサー率32% (174/540)
カレントが動いているので、2回目はメインではなく保存した場所に変わるんだと思います。 しっかりパスを設定してあげたら動くようになるでしょう。
テキストファイルが開けませんというエラーはファイルが開いている状態でよく起きます。 エラーが出たファイルの読み込み処理でファイルを閉じる処理が抜けていませんか? 処理が無いのなら読み込みが完了したところに追加してください。 あるのなら閉じる処理が実行されているのかを確認してください。
お礼
遅くなってすみません。 回答ありがとうございます。 ファイルを閉じる処理…抜けてました。 追加してもう一度やってみようと思います。
補足
遅くなってすみません。 回答ありがとうございます。 確かに全部パスを設定すると動きます。 しかし,できればパスは入れたくないのです。 どのPCを使っても動いてほしいので^^;