TOpenDialog и TFileSaveDialog не работают

crossa
Дата: 12.06.2019 03:47:08
Программа написана на Delphi 2009. У сотен пользователей всё работает нормально, но у одного в программе не работают пункты меню "Файл|Открыть" и "Файл|Сохранить". То есть не выполняются методы TOpenDialog.Execute и TFileSaveDialog.Execute. Операционная система Windows 10 64bit, больше ничего об этом компьютере не знаю. Сам пользователь признает, что на другом его компьютере программа работает как надо.

В чем может быть причина, что может блокировать вызов окна выбора файла? Кто-нибудь сталкивался с подобной проблемой? Посоветуйте хотя бы направление, в котором надо искать ответ.
antox
Дата: 12.06.2019 07:05:28
Мож попробовать через

TFileOpenDialog / TFileSaveDialog


Только ХЗ есть в 2009 или нет, в 2010 есть
Кроик Семён
Дата: 12.06.2019 10:20:40
crossa
В чем может быть причина, что может блокировать вызов окна выбора файла


У нас такое было, в окружении терминального сервера на базе Windows 2008R2 64x, да еще когда пользователь урезан в правах на кучу всего, в том числе и на смену диска в Windows Explorer.

Решилось тем, что самый первый вызов диалога сохранения/открытия файлов был с предварительным выставлением текущей папкки в "рабочий стол" .
x1ca4064
Дата: 12.06.2019 20:27:05
crossa
Посоветуйте хотя бы направление, в котором надо искать ответ.


Вы им FileName перед вызовом Execute указываете? Если имя "странное", у меня ка-то диалог не показывался.
crossa
Дата: 12.06.2019 22:36:09
TFileSaveDialog уже используется. FileName изначально содержит пустую строку. Буду проверять права пользователя, спасибо за совет.
Кроик Семён
Дата: 12.06.2019 23:34:31
crossa,

главное потом сюда на форум отпишитесь - другим инфа на будущее
x1ca4064
Дата: 13.06.2019 00:40:44
crossa
TFileSaveDialog уже используется. FileName изначально содержит пустую строку. Буду проверять права пользователя, спасибо за совет.


Вспомнил пример:

  SaveDialog.FileName:='Test"ndnd" .tst';
  if SaveDialog.execute then Mes ('Ok') else Mes('Fail');


Под 7 и XP сообщает "Fail".