掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TOpenDialogでのフィルター処理 (ID:48568)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ちょっと動作を追ってみましたが、FMX.Dialogs.Win.pasのTCustomFileDialog.Executeで FDialog.SetFileTypeIndex(FDialogはIFileDialog)を呼び出してインデックスを設定しているものの、 Showの呼び出し後にFDialog.GetFileTypeIndexを呼び出しておらず、FFileTypeIndexが 更新されないため選択されたインデックスが取得されない、ということのようです。バグっぽい気はしますが…。 試しにFMX.Dialogs.Win.pasをプロジェクトのフォルダにコピーしてプロジェクトに追加し、 function TCustomFileDialog.Executeの491行目付近で DoOnExecute; try Result := Succeeded(Show(ParentWnd)); if Result then Result := Succeeded(GetResults); finally GetFileTypeIndex(FFileTypeIndex); // この行を追加 SetActiveWindow(ParentWnd); end; とGetFileTypeIndexを呼び出すようにすることでフィルタのインデックスが正しくフィードバックされることを 確認しました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.