TOpenDialogを使用しています。
ユーザにファイルを複数選択させ、選択した順序を含めたファイル群を
取得したいと思っています。
Optionsプロパティに ofAllowMultiSelect, ofHideReadOnly, ofEnableSizing
をセットし、Executeを実行。Filesプロパティを取得してShowMessageしてみた
のですが、3つ以上選択したあたりから、選択順序が正しく取得できなくなる
場合があります (勝手に順序が変わってしまう)。
解決方法をご存じの方がいらっしゃいましたら、ご教授頂けませんでしょうか。
よろしくお願いいたします。
使用環境:Delphi6 Professional (SP2 on Windows98)
OpenDialogのファイル名入力欄に出ている時点で変わっていませんか?
Filesを見る限りでは、きちんと、ダイアログのファイル名入力欄に出ている順番になっています。
ファイル名入力欄は、マウスで選択した順番には入らないことがありますね。
OSの仕様かも。
WindowsXP Pro + Delphi7Proでは、次のような動作になります。
・1.txtを選択
結果:1.txt
・次に2.txtを選択
結果:"2.txt" "1.txt"
・次に3.txtを選択
結果:"3.txt" "1.txt" "2.txt"
最後に選択したものが先頭へ、2番目以降は昇順のようです。
ちなみに、逆に選択した場合。
・3.txtを選択
結果:3.txt
・次に2.txtを選択
結果:"2.txt" "3.txt"
・次に1.txtを選択
結果:"1.txt" "2.txt" "3.txt"
でした。
にしのさん、ありがとうございます。
お返事が遅くなり、申し訳ございませんでした。
仰るとおり、ダイアログボックスのファイル名入力欄に出ている時点で
順序が変わっています。説明が曖昧ですみません。
また、にしのさんのご指摘通り、3 -> 2 -> 1 と選択したときは
何故か正常に表示されました。
そのため、質問欄に "場合がある" と記述いたしました。
(これも説明不足でスミマセン)
仕様が把握できれば納得できるのですが、いまいち掴めなかったために
質問した次第です。すみませんが、よろしくお願いいたします。
ツイート | ![]() |