Question

Un développeur me dit que "La seule façon dont visual basic (6) peut gérer un chemin UNC est de le mapper sur un lecteur". Est-ce exact? Et, dans l’affirmative, quel est le problème sous-jacent et existe-t-il d’autres solutions que celle d’un lecteur mappé?

Était-ce utile?

La solution

Voici un moyen qui fonctionne.

Sub Main()

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

End Sub

Autres conseils

Nous avons une application VB6 existante qui utilise UNC pour créer une chaîne de connexion. Je sais donc que VB6 peut le faire. Souvent, les problèmes d’autorisation en sont la cause.

Même le type de gestion de fichier de type ancien fonctionne:

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

Je ne pense pas que cela soit vrai si vous utilisez la bibliothèque Scripting.Runtime .

Oldschool VB avait quelques constructions de langage pour la gestion des fichiers. Ce sont le mal. Ne les utilisez pas.

En VB6, vous ne pouvez pas utiliser CHDrive sur un chemin UNC.

Comme App.Path renvoie un chemin UNC, toute tentative d'utilisation de ChDrive sur ce chemin, ChDrive App.Path provoquera une erreur.

Comme Microsoft dit "ChDrive ne peut pas gérer les chemins UNC, et génère donc une erreur lorsque App.Path en renvoie un". Pour plus d'informations, consultez http: // msdn. microsoft.com/en-us/library/aa263345(v=vs.60).aspx

Quel type de fichier I / O faites-vous? S'il s'agit de texte, envisagez d'utiliser un FileSystemObject.

J'ai observé des problèmes de chemin VB6 UNC lorsqu'il existe une combinaison des éléments ci-dessous:

  • le point pointe vers un partage '$' caché
  • le nom du serveur dépasse 8 caractères et / ou a des caractères non standard
  • une partie du chemin est exceptionnellement longue
  • le support du serveur 8.3 est désactivé pour des raisons de performances

Il s’agit généralement d’une erreur d’accès au fichier sur 75 ou 54. Parfois, cela peut être lié à des API telles que getshortfilename et getshortpathname sur les UNC susmentionnés.

En dehors de cela, ils fonctionnent très bien ... Un chemin mappé n'aura généralement pas ces problèmes, mais ces mappages de lecteurs douteux se déconnectent souvent et peuvent changer à tout moment, causant de nombreux maux de tête.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top