• Miércoles 17 de Abril de 2024, 01:54

Autor Tema:  Error con LoadPicture  (Leído 7542 veces)

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Error con LoadPicture
« en: Viernes 22 de Mayo de 2009, 20:56 »
0
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.
Mi mujer tiene un físico bárbaro!!!. Einstein.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Error con LoadPicture
« Respuesta #1 en: Lunes 25 de Mayo de 2009, 10:06 »
0
¿Qué valor tiene DirFile cuando te de el error?

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #2 en: Lunes 25 de Mayo de 2009, 18:00 »
0
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.
Mi mujer tiene un físico bárbaro!!!. Einstein.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Error con LoadPicture
« Respuesta #3 en: Lunes 25 de Mayo de 2009, 18:40 »
0
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

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #4 en: Lunes 25 de Mayo de 2009, 20:43 »
0
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
  1.  
  2. Dim fso As New FileSystemObject
  3. Dim fich As File
  4.  
  5.  
  6. Private Sub Command1_Click()
  7.     Dim ruta As String
  8.    
  9.     ruta = "C:windowsWebWallpaperDesierto rojo con luna.jpg"
  10.     ruta = RutaCorta(ruta)
  11.     MsgBox ruta
  12. End Sub
  13.  
  14. Private Function RutaCorta(ByVal ruta As String) As String
  15.     On Local Error Resume Next
  16.     Set fich = fso.GetFile(ruta)
  17.     RutaCorta = fich.ShortPath
  18. End Function
  19.  
  20.  
«Ma non troppo»
----> ModoVacaciones = False<----

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #5 en: Martes 26 de Mayo de 2009, 18:18 »
0
Salu2. Nuevamente gracias por las opiniones pero no es el caso, es c:logo.jpg. :(. . Recordar que la función dir no me da error, me devuelve que el fichero existe. :) . Tamaño de Logo.jpg 4,36k, Dudo mucho que sea problema de tamaño.

Un saludo.
Mi mujer tiene un físico bárbaro!!!. Einstein.

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #6 en: Jueves 28 de Mayo de 2009, 04:17 »
0
porqué no capturas el error completamente y aportas dicha info ?

on local error goto ....

msgbox err.number & " " & err.description & " " & err. .....
«Ma non troppo»
----> ModoVacaciones = False<----

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #7 en: Jueves 28 de Mayo de 2009, 18:03 »
0
Salu2. Si pudiese capturarlo me lo saltaria, no me lo permite. directamente me cierra la aplicacion o en caso de estar en el editor, el editor y la aplicación, y me saca el mensage de error kernel32, desbordamiento de pila y unos números exadecimales que supongo no vendrán a cuento. Pero si insistes la próxima vez te pongo el pantallazo.

Gracias por el comentario. Se me han terminado las ideas. Todo será bien agradecido. :)
 :comp:  -_-  :comp:
Mi mujer tiene un físico bárbaro!!!. Einstein.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Error con LoadPicture
« Respuesta #8 en: Jueves 28 de Mayo de 2009, 18:38 »
0
Hm, qué extraño... Postea el error con los números, a ver si alguien ve luz en ello.

Suerte

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #9 en: Sábado 30 de Mayo de 2009, 00:45 »
0
No está dentro de lo razonable que cabe esperar ese tipo de error.
Si la imagen no fuera válida te daría el error 481 o algún otro si el problema fuera la ruta de acceso...

No es un error de VB6...
Es probable que tengas corrupta alguna dll... ó Quizás algún virus tenga usurpado el portapepeles.
Trata de restaurar el archivo kernell32, con una copia 'buena' y versión correcta al S.O. que usas.
Si eso no funciona trata reinstalando VB y si sigue sin funcionar sin duda tendrías un problema de seguridad que tendrías que corregir lo antes posible, actualiza tus antivirus reinicia en modo 'a prueba de fallos' y pasa todos los antivrus a ver si fijan el problema.

A problemas mayores (si te dejó dañado algunas librerías) restaura el S.O. y si ni con eses quizás la solución fuere formatear...
«Ma non troppo»
----> ModoVacaciones = False<----

seba123neo

  • Miembro activo
  • **
  • Mensajes: 36
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.neovisualbasic.com.ar/
Re: Error con LoadPicture
« Respuesta #10 en: Lunes 1 de Junio de 2009, 02:43 »
0
Hola, de ultima usa las api's del clipboard para ver si asi funciona...

saludos.
Todos somos ignorantes;lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #11 en: Lunes 1 de Junio de 2009, 18:13 »
0
Salu2. aquí está el pantallazo del error. Las 2 imagenes son la misma pero enseñando diferentes partes del desplazable. Espero que os sirva mas que a mi ;) .
Respecto al tema de las api, no me da error de ningun tipo, pero no pega la imagen en el excell y no se porque, el ejemplo está muy bien explicado, pero no he sido capaz.

Gracias.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Mi mujer tiene un físico bárbaro!!!. Einstein.

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #12 en: Jueves 4 de Junio de 2009, 22:16 »
0
Las imágenes que has enviado sugieren que algo ocurre mientras ejecutas el programa, sea tu programa, sea la imagen (que pudiera no ser sólo una imagen) o sea un virus que controla la ejecución de tu programa, lo cierto es que produce un fallo de protección de memoria.

Como dices que ocurre en esa línea y como se supone que la imagen es correcta, queda bastante patente que tu problema es un problema con las librerías si descartamos los virus.

Podría sugerirte que lo ejecutes en un XP para determinar si el problema es inherente al código o sólo al S.O.  (personalmente descarto que sea un problema de VB)... al menos sabrás que si el problema sólo te ocurre en win98 podrás descartar cosas...
«Ma non troppo»
----> ModoVacaciones = False<----

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #13 en: Viernes 5 de Junio de 2009, 15:34 »
0
Salu2. En S.O. posteriores al 2000 funciona en todos, 'curiosamente', en el vista no me deja instalarlo, digo curiosamente porque en windows 7 si va :).

   Estos desesperado, le he puesto 3 win98 ya y me pasa en todos lo mismo, hasta ahora nunca he desistido cuando he querido hacer algo, pero 3 semanas es mucho tiempo y no tengo ideas. Procuraré encontrar otro pc al que poderle poner un win98, pero dudo mucho que sea problema de pc, pero mucho mucho :) .

   Una vez mas gracias por tu interes. Un Saludo.
Mi mujer tiene un físico bárbaro!!!. Einstein.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Error con LoadPicture
« Respuesta #14 en: Viernes 5 de Junio de 2009, 20:02 »
0
Me di a la tarea de instalar el Win98.
No encontré problemas al colocar una imagen el portapapeles.
Pero me di cuenta que te hace falta escribir el comando completo

Tienes:
Código: Text
  1.     Clipboard.SetData Picture1
  2.  
  3.  

Debes tener:
 
Código: Text
  1.    Clipboard.SetData Picture1.Picture
  2.  

Te adjunto un pequeño proyecto que funciona en Win98.
 :comp:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #15 en: Viernes 5 de Junio de 2009, 21:23 »
0
Salu2. Antes de nada decirte que te agradezco mucho las molestias que te has tomado. el lunes cuando vaya al currito probare tu .exe para ver si funciona, y te comentaré.

Respecto a que es picture1.picture, si, así lo he tenido siempre, pero se me pasó cambiar el mensaje anterior.

muchas muchas gracias.
Mi mujer tiene un físico bárbaro!!!. Einstein.

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Error con LoadPicture
« Respuesta #16 en: Viernes 12 de Junio de 2009, 20:18 »
0
Salu2. Pido disculpas por la tardanza en contestar, pero una mala gripe me ha dejado en cama hasta ayer. Decirte que ciertamente tampoco me funciona tu demo, lo que me deja claro que alguna de mis .dll se le ha ido la pinza o se actualizó al ejecutar mi instalador y ahora no es la correcta. Pero como no me gusta perder la esperanza voy a lanzar otra pregunta desde mi ignorancia :) . ¿Es posible que un antivir como el AVG detenga la función?. Mi opinión es que no debiera, pero ahí queda.

   No se, Supongo que acabaré probando mas Win98, hasta que alguno me funcione, y regresaré a VB5 mas que nada por hacer cambios y no estancarme en una idea fija.

Muchas gracias.
Mi mujer tiene un físico bárbaro!!!. Einstein.