Pergunta

Estou recebendo feedback de um desenvolvedor que "O básico única maneira visual (6) pode lidar com um caminho UNC é mapear para uma unidade." É este precisa? E, em caso afirmativo, qual é o problema subjacente e existem quaisquer alternativas que não seja uma unidade mapeada?

Foi útil?

Solução

Aqui está uma maneira que funciona.

Sub Main()

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

End Sub

Outras dicas

Temos um aplicativo VB6 legado que usa UNC para construir uma cadeia de conexão, então eu sei VB6 pode fazê-lo. Muitas vezes, você encontrará problemas de permissões para ser o culpado.

Mesmo o tipo da velha escola de manipulação de arquivos funciona:

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

Eu não acho que isso é verdade, se você estiver usando a biblioteca Scripting.Runtime.

Oldschool VB tinha algumas construções de linguagem para manipulação de arquivos. Estes são mal. Não usá-los.

Em VB6 você não pode usar ChDrive para um caminho UNC.

Desde App.Path retorna um caminho UNC, a tentativa de usar ChDrive a este caminho, ChDrive App.Path causará um erro.

Como a Microsoft dizer "ChDrive não pode lidar com caminhos UNC, e, portanto, gera um erro quando App.Path retorna um". Para mais informações, veja http: // MSDN. microsoft.com/en-us/library/aa263345(v=vs.60).aspx

Que tipo de arquivo I / O que você está fazendo? Se é texto, olhar em usar um FileSystemObject.

Tenho observado problemas de caminho VB6 UNC quando uma combinação dos itens abaixo existir:

  • UNC aponta para um compartilhamento oculto '$'
  • o nome do servidor exceder 8 caracteres e ou tem caracteres não padrão
  • uma porção do percurso é excepcionalmente longa
  • o servidor tem 8,3 suporte virou de para fins de desempenho

Normalmente, um erro 75 caminho de acesso de arquivos ou 54. Às vezes, isso pode estar relacionado com API, tais como getshortfilename e GetShortPathName no referido UNC.

Além de que eles funcionam muito bem ... Um caminho normalmente não terá esses problemas, mas esses mapeamentos de unidade enervante desconectar frequentemente e pode mudar a qualquer momento, causando muitas dores de cabeça de apoio mapeada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top