Frage

Ich erhalte Feedback von einem Entwickler, dass „Der einzige Weg, Visual Basic (6) mit einem UNC-Pfad umgehen kann, ist es zu einem Laufwerk zu machen.“ Ist das korrekt? Und wenn ja, was ist das zugrunde liegende Problem und gibt es Alternativen andere als ein zugeordnetes Laufwerk?

War es hilfreich?

Lösung

Hier ist eine Möglichkeit, die funktioniert.

Sub Main()

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

End Sub

Andere Tipps

Wir haben ein Vermächtnis VB6-Anwendung, die UNC verwendet eine Verbindungszeichenfolge zu bauen, damit ich weiß, VB6 es tun kann. Oft werden Sie Berechtigungen Probleme finden die Täter sein.

Auch die alte Schule Art von Datei-Handling funktioniert:

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

Ich glaube nicht, das ist wahr, wenn Sie die Scripting.Runtime Bibliothek verwenden.

Oldschool VB hatte einige Sprachkonstrukte für Dateihandhabung. Diese sind böse. Verwenden Sie sie nicht.

In VB6 Sie können nicht ChDrive auf einen UNC-Pfad verwenden.

Da App.Path einen UNC-Pfad zurückgibt, versucht ChDrive zu diesem Pfad zu verwenden, ChDrive App.Path wird einen Fehler verursachen.

Wie Microsoft sagen „ChDrive nicht UNC-Pfade, verarbeiten und somit löst einen Fehler, wenn App.Path liefert einen“. Für weitere Informationen schauen Sie unter http: // msdn. microsoft.com/en-us/library/aa263345(v=vs.60).aspx

Welche Art von Datei-I / O machst du da? Wenn es sich um Text ist, schauen Sie in ein Filesystem verwendet wird.

Ich habe VB6 beobachtet Probleme UNC-Pfad, wenn eine Kombination der Elemente unten vorhanden sein:

  • die unc verweist auf eine versteckte '$' share
  • der Servername mehr als 8 Zeichen und oder Nicht-Standard-Zeichen hat
  • ein Teil des Weges ist außergewöhnlich lang
  • der Server 8.3 Unterstützung drehte der für Leistungszwecke

In der Regel eine 75-Pfaddatei Zugriffsfehler oder 54. Manchmal dies API verwandt werden, wie getshortfilename und GetShortPathName auf der vorgenannten UNC.

Anders als das sie arbeiten, große ... Ein abgebildet Pfad wird in der Regel nicht, diese Probleme haben, aber diese gestopft Laufwerkszuordnungen trennen häufig und können jederzeit wieder ändern viele Unterstützung Kopfschmerzen verursachen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top