Programación General > Visual Basic 6.0 e inferiores
Error con LoadPicture
Sagutxo:
Salu2. Mi problema es el siguiente:
VB6 sobre S.O. Win98.
clipboard.clear
clipboard.setdata LoadPicture(DirFile)
La función LoadPicture me cierra la aplicación sin remedio. Mensaje: desbordamiento de pila.
Tambien he probado con un control picture:
clipboard.clear
picture1.picture=LoadPicture(DirFile)
clipboard.setdata picture1
y me pasa lo mismo
Alguno sabe decirme porque ¿?
gracias.
m0skit0:
¿Qué valor tiene DirFile cuando te de el error?
Sagutxo:
Gracias por contestar, te diré que dirfile es = a el path a fichero, está correcto dado que si le pongo con la función dir(dirfile) me dice que existe.
DirFile=string, obviamente :)
El problema radica en la función LoadPicture sin duda, lo que no se es porque sucede. solo sucede en el win98. El problema es que el PC en el que está necesita Win98 por otras aplicaciones que se usan y no tienen opcion de S.O. superior.
un saludo.
m0skit0:
Ten en cuenta que Windoze 98 no acepta caminos muy largos, prueba a poner el camino más corto que puedas, algo como C:prueba.bmp.
Nebire:
Casi con seguridad es lo que te señala Mosquito.
Convierte la ruta al shortpath equivalente... aquello de donde era "C:Archivos de Programa..." queda como "c:Archiv~1..."
Para ello puedes usar una API al efecto o bien añadir una referencia al FilesystemObject (windows Scripting runtime) , el objeto file admite trayectos cortos y largos.
un breve ejemplo: (primero añade la referencia), añade un botón al formulario , luego utiliza el código siguiente...
--- Código: Visual Basic --- Dim fso As New FileSystemObjectDim fich As File Private Sub Command1_Click() Dim ruta As String ruta = "C:windowsWebWallpaperDesierto rojo con luna.jpg" ruta = RutaCorta(ruta) MsgBox rutaEnd Sub Private Function RutaCorta(ByVal ruta As String) As String On Local Error Resume Next Set fich = fso.GetFile(ruta) RutaCorta = fich.ShortPathEnd Function
Navegación
[#] Página Siguiente
Ir a la versión completa