Эта проблема возникает только в приложениях, которые ранее были разработаны для Delphi 7 и перенесены в Delphi 2007, работающие на WinXP.
Я целую вечность пытался решить эту проблему, но безуспешно.
Насколько мне известно, Topendialog представляет собой диалоговую оболочку Win32, и он должен наследовать параметры папки Windows, которые, в моем случае, настроены на отображение расширений всех файлов.
Теперь, если я создам новое приложение и закину в него Topendialog, при запуске оно покажет расширения файлов, как и ожидалось.
Если я перетащу тот же диалог в существующее приложение и запущу его, он не покажет расширения файлов.
На самом деле, если я запишу строку имени файла в свойство имени файла перед вызовом диалогового окна а-ля «Мой файл.txt», когда диалоговое окно отображается, имя файла отображается как «Мой файл», расширение не отображается и не отображается. любые файлы в списке.
Кому-нибудь еще кажется, что такое поведение?
У кого-нибудь есть обходные пути?
Редактировать: изображения, загруженные для демонстрации различий между Topendialog в новом проекте и существующем проекте.