Domanda

Sto ricevendo feedback da uno sviluppatore che "l'unico modo in cui Visual Basic (6) può gestire un percorso UNC è mapparlo su un disco". È accurato?E, se sì, qual è il problema di fondo e ci sono alternative oltre a un'unità mappata?

È stato utile?

Soluzione

Ecco un modo che funziona.

Sub Main()

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

End Sub

Altri suggerimenti

Abbiamo un'app VB6 legacy che utilizza UNC per creare una stringa di connessione, quindi so che VB6 può farlo.Spesso troverai che i problemi di autorizzazione sono i colpevoli.

Anche il vecchio tipo di gestione dei file funziona:

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

Non penso che questo sia vero, se stai usando il file Scripting.Runtime biblioteca.

Oldschool VB aveva alcuni costrutti linguistici per la gestione dei file.Questi sono malvagi.Non usarli.

In VB6 non è possibile utilizzare CHDrive su un percorso UNC.

Poiché App.Path restituisce un percorso UNC, tentando di utilizzare ChDrive su questo percorso, ChDrive App.Path causerà un errore.

Come dice Microsoft "ChDrive non può gestire percorsi UNC e quindi genera un errore quando App.Path ne restituisce uno".Per ulteriori informazioni, guarda http://msdn.microsoft.com/en-us/library/aa263345(v=vs.60).aspx

Che tipo di I/O di file stai eseguendo?Se si tratta di testo, esamina l'utilizzo di un FileSystemObject.

Ho osservato problemi relativi al percorso UNC VB6 quando esiste una combinazione degli elementi seguenti:

  • l'unc punta a una condivisione nascosta "$".
  • il nome del server supera gli 8 caratteri e/o contiene caratteri non standard
  • una parte del sentiero è eccezionalmente lunga
  • il server ha il supporto 8.3 disattivato per motivi di prestazioni

Di solito si tratta di un errore di accesso al file con percorso 75 o 54.A volte questo può essere correlato ad API come getshortfilename e getshortpathname sugli UNC sopra menzionati.

Per il resto funzionano alla grande...Un percorso mappato di solito non presenta questi problemi, ma quelle maledette mappature delle unità si disconnettono spesso e possono cambiare in qualsiasi momento causando molti grattacapi al supporto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top