У меня есть форма с TSaveDialog. При вызове функции Execute она не появляется при запуске из IDE. Это делает всплывающим при работе в автономном режиме. Протестировав его, я обнаружил, что все диалоги TSave / TOpen не работают. Не работающий означает, что Execute возвращает False
без всплывающего окна (см. Обновленный пример кода: всегда появляется сообщение «False» без предшествующего диалога). другие диалоговые окна (шрифт / цвет / и т. Д.) делают работают.
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute
then ShowMessage ('True')
else ShowMessage ('False');
end;
При запуске без отладки диалоговое окно не появляется. Также не имеет значения, выбрана ли версия Release или Debug.
Очевидно, IDE делает что-то странное. В форме есть два компонента TSaveDialog, и оба отображают одинаковое поведение.
Есть идеи, что не так?
Обновление 1 с использованием Delphi XE в Windows 7. Другие проекты, использующие TSaveDialogs, работают нормально.
Обновление 2 Обнаружено, что оригинальный вопрос о TSaveDialog применяется ко всем диалогам TSave / TOpen. Вопрос был отредактирован, чтобы включить это знание.
Обновление 3 Я нашел эту ссылку с похожей ошибкой. Однако я проверил реестр, но не смог найти исполняемый файл, как уже упоминалось. И совет по изменению совместимости с XP не относится к imho, потому что TSaveDialog отлично работает вне IDE.