この問題は、以前に Delphi 7 で設計され、WinXP で動作する Delphi 2007 に移行されたアプリケーションでのみ発生します。
私は何年もの間、この問題を解決しようとしましたが、うまくいきませんでした。
私の知る限り、Topendialog は Win32 ダイアログ ラッパーであり、Windows フォルダー オプションを継承する必要があります。私の場合、すべてのファイルのファイル拡張子を表示するように設定されています。
ここで、新しいアプリケーションを作成してそこに Topendialog をドロップすると、実行時に期待どおりにファイル拡張子が表示されます。
同じダイアログを既存のアプリケーションにドロップして実行すると、ファイル拡張子が表示されません。
実際、ダイアログを「Myfile.txt」として呼び出す前にファイル名の文字列をファイル名プロパティに書き込むと、ダイアログが表示されたときにファイル名が「Myfile」と表示され、拡張子が表示されず、ファイルも表示されませんリスト。
他の誰かがこの行動に見えましたか?
誰でも回避策はありますか?
編集: Topendialog にアップロードされた画像は、新しいプロジェクトと既存のプロジェクトの違いを示しています。