Почему моя программа не распознает сопоставленные пути UNC?

У меня проблемы с записью на подключенный сетевой диск (P :) в Windows 7 из моей программы Delphi. Когда я пробую, например, ForceDirectories ('P: \ test \ folder') , я получаю сообщение об ошибке (путь не найден).

Я попытался ввести путь UNC в коде ( ForceDirectories ('\\ computername \ share \ test \ folder') ), и это сработало. Однако ExpandUNCFileName ('P: \') , похоже, не работает; он возвращает 'P: \'. В Windows XP ExpandUNCFileName ('P: \') возвращает UNC-путь.

Как мне получить UNC-путь в Delphi в Windows 7 или иным образом записать на подключенный сетевой диск?

При дальнейшем исследовании мне кажется, что мне не хватает какой-то инициализации в Windows. У меня есть другое приложение (app2), которое использует TcxShellComboBox (компонент DevExpress). После перехода к P: в этом поле со списком в app2 вызовы ExpandUNCFileName работают правильно в первом приложении. То же самое с FileExists для файлов в P :, возвращает False перед переходом к P: в app2, возвращает true после и до перезагрузки компьютера.

6
задан Rob Kennedy 6 October 2011 в 18:22
поделиться