Вопрос

Я получаю отзыв от разработчика о том, что "Единственный способ, которым visual basic (6) может работать с UNC-путем, - это сопоставить его с диском". Это точно?И если да, то в чем основная проблема и есть ли какие-либо альтернативы, кроме подключенного диска?

Это было полезно?

Решение

Вот один из способов, который работает.

Sub Main()

    Dim fs As New FileSystemObject ' Add Reference to Microsoft Scripting Runtime
    MsgBox fs.FileExists("\\server\folder\file.ext")

End Sub

Другие советы

У нас есть устаревшее приложение VB6, которое использует UNC для создания строки подключения, поэтому я знаю, что VB6 может это сделать.Часто причиной становятся проблемы с разрешениями.

Даже олдскульный способ обработки файлов действительно работает:

Open "\\host\share\file.txt" For Input As #1
Dim sTmp
Line Input #1, sTmp
MsgBox sTmp
Close #1

Я не думаю, что это Правда, если вы используете Scripting.Runtime библиотека.

В Oldschool VB было несколько языковых конструкций для обработки файлов.Это зло.Не используйте их.

В VB6 вы не можете использовать ChDrive для UNC-пути.

Начиная с App.Path возвращает UNC-путь, пытаясь использовать ChDrive для этого пути, ChDrive App.Path приведет к ошибке.

Как говорят в Microsoft, "ChDrive не может обрабатывать UNC-пути и, следовательно, выдает ошибку, когда App.Path возвращает единицу".Для получения дополнительной информации ознакомьтесь с http://msdn.microsoft.com/en-us/library/aa263345 (v=против 60).aspx

Какой тип ввода-вывода файлов вы выполняете?Если это текст, рассмотрите возможность использования FileSystemObject.

Я наблюдал проблемы с путем VB6 UNC, когда существует комбинация приведенных ниже элементов:

  • unc указывает на скрытую долю '$'
  • имя сервера превышает 8 символов и или содержит нестандартные символы
  • часть пути исключительно длинная
  • сервер имеет поддержку версии 8.3, отключенную в целях повышения производительности

Обычно ошибка доступа к файлу с путем 75 или 54.Иногда это может быть связано с API, такими как getshortfilename и getshortpathname в вышеупомянутом UNC.

В остальном они отлично работают...Сопоставленный путь обычно не вызывает этих проблем, но эти проклятые сопоставления дисков часто отключаются и могут измениться в любое время, вызывая множество головных болей службы поддержки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top