2012-02-07 7 views
0

私の小さなアプリケーションをテストすると、Delphiの[保存]ダイアログで問題が発生しました。 通常はSave Dialogが表示されますが、昨日はシステムが(C :)でseparetelyになっている間に、すべてのデータが別のパーティションにあるコンピュータでテストしました。 動作しません:saveDialog.InitialDir:= GetCurrentDir; (保存ダイアログは表示されません) 私はデルファイの初心者です。プログラムと2つの異なるディレクトリにあるデータを持つコンピュータの場合、どのように問題を解決するのか分かりません。 事前に感謝してください!ダイアログをDelphiで保存しました。データが別のパーティションにあります

+4

http://meta.stackexchange.com/questions/5234/ –

+0

コードを表示し、お持ちのデルファイのバージョンを教えてください。私はこのような行動を再現することはできません。それが価値があるものについては、現在のディレクトリは通常、初期ディレクトリが不十分です。プログラムは通常、読み取り専用の場所にインストールされます。ダイアログの最初のディレクトリを設定しないと、マイドキュメントフォルダがデフォルトとして取得されます。 –

答えて

0

TSaveDialog複数のパーティションをうまく処理します。あなたの問題は他の何かに関連しています。

GetCurrentDir()はアプリの生存期間中に動的に変更されるので、実際にはどこにポイントしているのかわからないので、実際にはGetCurrentDir()に頼るべきではありません。いずれにしても、それだけではTSaveDialogは失敗しません。

TSaveDialogは内部でGetSaveFileName()を使用するため、失敗した場合はCommDlgExtendedError()を呼び出して理由を調べてください。

関連する問題