Recibo comentarios de un desarrollador que "La única forma en que Visual Basic (6) puede manejar una ruta UNC es asignarla a una unidad". Es esto exacto? Y, en caso afirmativo, ¿cuál es el problema subyacente y existen alternativas distintas a una unidad mapeada?Visual Basic 6 y rutas UNC
Respuesta
Aquí hay una manera que funciona.
Sub Main()
Dim fs As New FileSystemObject ' Add Reference to Microsoft Scripting Runtime
MsgBox fs.FileExists("\\server\folder\file.ext")
End Sub
Tenemos una aplicación VB6 heredada que usa UNC para construir una cadena de conexión, así que sé que VB6 puede hacerlo. A menudo, encontrarás problemas de permisos para ser el culpable.
No creo que esto es cierto, si está utilizando la biblioteca Scripting.Runtime
.
Oldschool VB tenía algunas construcciones de lenguaje para el manejo de archivos. Estos son malvados No los uses
¿Qué tipo de archivo de E/S estás haciendo? Si se trata de texto, investigue usando un FileSystemObject.
Incluso el tipo de la vieja escuela de manejo de archivos funciona:
Open "\\host\share\file.txt" For Input As #1
Dim sTmp
Line Input #1, sTmp
MsgBox sTmp
Close #1
he observado con los parches de VB6 UNC cuando una combinación de los siguientes elementos existe:
- los puntos de acceso UNC a un oculto '$' compartir
- el nombre del servidor supera 8 caracteres o tiene caracteres no estándar
- una parte de la ruta es excepcionalmente larga
- El servidor tiene soporte convertido en un 8,3 por motivos de rendimiento
Por lo general, un error de acceso a archivos de 75 o ruta 54. A veces esto puede estar relacionado con la API como getshortfilename y GetShortPathName en lo anterior UNC.
Aparte de eso, funcionan muy bien ... Una ruta mapeada generalmente no tendrá estos problemas, pero esas asignaciones de unidad zurdas se desconectan a menudo y pueden cambiar en cualquier momento, lo que causa muchos problemas de soporte.
En VB6 no puede usar CHDrive en una ruta UNC.
Dado que App.Path devuelve una ruta UNC, al intentar utilizar ChDrive en esta ruta, ChDrive App.Path
causará un error.
Como dice Microsoft "ChDrive no puede manejar rutas de acceso UNC, y por lo tanto genera un error cuando App.Path devuelve uno". Para obtener más información, consulte http://msdn.microsoft.com/en-us/library/aa263345(v=vs.60).aspx
- 1. ¿Más fácil que Visual Basic 6?
- 2. ¿Hay un decompilador de Visual Basic 6?
- 3. ¿Visual Basic 6 todavía se usa ampliamente?
- 4. C#, Visual Basic 6 y el tipo de datos decimal
- 5. visual basic y vb.net
- 6. Llamar a un Método Java desde Visual Basic 6
- 7. Fuera de String Space en Visual Basic 6
- 8. Cómo guardar el punto de interrupción en Visual Basic 6
- 9. Haciendo que shlex.split respete las rutas UNC
- 10. Hex-Value en Visual Basic
- 11. Visual Basic 6 hace que Visual Studio 2010 intente una instalación
- 12. Repositorios de clases y módulos en línea gratuitos para Visual Basic 6 (VB6)
- 13. ¿Casting en Visual Basic?
- 14. Apertura de vbp Proyecto de Visual Basic
- 15. Visual Basic 6.0 Case Statement
- 16. ¿Por qué mi programa no reconoce rutas mapeadas UNC?
- 17. Función de suspensión Visual Basic
- 18. Multithreading en Visual Basic 6.0
- 19. WIX 3: Uso de HEAT para Visual Basic 6 COM Dlls
- 20. ¿Cuál es la mejor forma de usar clases .NET desde Visual Basic 6?
- 21. Expresión regular para validar rutas de archivos basadas en Windows, incluidas las rutas UNC
- 22. Manera simple de guardar y cargar datos Visual Basic
- 23. Cómo hacer desarrollo y construir en Visual Basic 6.0
- 24. Visual Basic Loop y mostrar una línea a la vez
- 25. Equivalente de E y O de Visual Basic en C#?
- 26. Dimensiones de la pantalla en Visual Basic
- 27. Expresión regular de Visual Basic Pregunta
- 28. Cómo usar un mutex en Visual Basic
- 29. Redondeo de un número en Visual Basic
- 30. Las quines desaparecidas: Visual Basic (para Aplicaciones)