Visual Basic 6 и пути UNC - PullRequest
       15

Visual Basic 6 и пути UNC

5 голосов
/ 17 сентября 2008

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

Ответы [ 7 ]

6 голосов
/ 17 сентября 2008

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

2 голосов
/ 19 сентября 2008

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

Open "\\host\share\file.txt" For Input As #1
Dim sTmp
Line Input #1, sTmp
MsgBox sTmp
Close #1
2 голосов
/ 17 сентября 2008

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

Sub Main()

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

End Sub
1 голос
/ 02 декабря 2013

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

Поскольку App.Path возвращает UNC-путь, попытка использовать ChDrive по этому пути, ChDrive App.Path вызовет ошибку.

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

1 голос
/ 17 сентября 2008

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

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

0 голосов
/ 01 октября 2008

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

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

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

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

0 голосов
/ 19 сентября 2008

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

...