Hay alguna forma de descargar archivos desde vb6 sin usar el mscomctl.ocx(lo usan inet y URLDownloadToFile), ya que me he dado cuenta que en algunos pcs no funciona mi aplicación debido a la falta de ese archivo y me es mas fácil re programar mi aplicación que ir ayudando a la gente 1 por 1 a que funcione, si conocéis métodos en otros lenguajes de programación también son bien venidos.
Saludos
busca en el foro, ya se hablo bastante de esto y hay varias formas, que yo sepa la api URLDownloadToFile esta en la dll de windows llamada urlmon, no tiene nada que ver con el ocx mscomctl, igualmente esa api te traba todo antes de que termine, la mejor forma es bajar de forma asyncrona con un usercontrol.
http://foro.elhacker.net/programacion_visual_basic/duda_vb_con_web-t361796.0.html (http://foro.elhacker.net/programacion_visual_basic/duda_vb_con_web-t361796.0.html)
Cita de: seba123neo en 24 Mayo 2012, 22:05 PM
busca en el foro, ya se hablo bastante de esto y hay varias formas, que yo sepa la api URLDownloadToFile esta en la dll de windows llamada urlmon, no tiene nada que ver con el ocx mscomctl, igualmente esa api te traba todo antes de que termine, la mejor forma es bajar de forma asyncrona con un usercontrol.
http://foro.elhacker.net/programacion_visual_basic/duda_vb_con_web-t361796.0.html (http://foro.elhacker.net/programacion_visual_basic/duda_vb_con_web-t361796.0.html)
Pues a mi esa api me va de maravilla el problema es que a un windows recien instalado no :S, probare como me has comentado a ver que tal.
Saludos y gracias.
te puede ir bien para archvos chicos, pero si bajas algo de 50 megas se tte traba hasta que no termina la descarga, en cambio de la forma que te digo, no se traba, podes hacer multiples descargas simultaneas y hasta podes ver el progreso de cada una de ellas, todo eso esta en el usercontrol.
Citar
te puede ir bien para archvos chicos, pero si bajas algo de 50 megas se tte traba hasta que no termina la descarga...
creando un hilo con alguna sub-clasificacion (la unica manera en que un hilo no truena en vb6) jala perfecto... lo malo es que es mucho lio...
Dulces Lunas!¡.
Vale me he dado cuenta que el problema no es el metodo de descarga si no que todos los windows recien instalados carecen de los componentes necesarios para ejecutar aplicaciones de visual basic(mscomctl y comctl32). Ni siquiera windows vista los tiene instalados que es mas nuevo que el xp.
Saludos.
Hmm, entonces podrías hacer un instalador para tu aplicación, que incluya dichos componentes y los instale junto a tu programa. Debería ser posible.
Un Saludo.
Me he dado cuenta que dejando el ocx en el directorio donde se encuentra la aplicacion este lo carga y el programa se ejecuta correctamente, sabeis si haciendo esto lo cargara siempre correctamente o me puede causar errores?
Saludos.
si puede ser que el visual basic primero lo busque donde esta el programa, pero ese ocx va en la carpeta system32 del windows, por lo menos el visual basic mismo instala ahi todos los ocx.
Cita de: .:Weeds:. en 2 Junio 2012, 20:52 PMMe he dado cuenta que dejando el ocx en el directorio donde se encuentra la aplicacion este lo carga y el programa se ejecuta correctamente, sabeis si haciendo esto lo cargara siempre correctamente o me puede causar errores?
A eso me refería exactamente, con esto otro:
Cita de: Saberuneko en 29 Mayo 2012, 10:28 AM...podrías hacer un instalador para tu aplicación, que incluya dichos componentes y los instale junto a tu programa...
A mí siempre me ha funcionado, vamos.
(Nótese de todas formas que trabajo con VB6, igual no funciona con otras cosas más recientes.)
Un Saludo.
'
' ///////////////////////////////////////////////////////////////////////////
' // Autor: BlackZeroX ( Ortega Avila Miguel Angel )
' //
' // Web: http://InfrAngeluX.Sytes.Net/
' //
' // |-> Pueden Distribuir Este Código siempre y cuando
' // no se eliminen los créditos originales de este código
' // No importando que sea modificado/editado o engrandecido
' // o achicado, si es en base a este código
' //////////////////////////////////////////////////////////////////////////
Option Explicit
Function DescargarArchivo(strDowload As String, SaveOn As String) As Long
On Error GoTo 1:
Dim xml As Object
Dim adoStream As Object
Set xml = CreateObject("Microsoft.XMLHTTP")
Set adoStream = CreateObject("Adodb.Stream")
Call xml.Open("GET", strDowload, 0)
Call xml.Send
adoStream.Type = 1
Call adoStream.Open
Call adoStream.write(xml.responseBody)
Call adoStream.SaveToFile(SaveOn, 2)
Call adoStream.Close
DescargarArchivo = 1
Exit Function
1:
End Function
DoEvents! :P
esa funcion la habia posteado primero el usuario ||MadAntrax||
Downloader sin API's sin DLL's sin OCX's... solo una Función! (http://foro.elhacker.net/programacion_visual_basic/source_downloader_sin_apis_sin_dlls_sin_ocxs_solo_una_funcion-t165233.0.html)
.
Uff de eso ya hace bastante tiempo, recuerdo que la cree cuando empezaba con Ajax y la traduje a vb6 después vi que era un molde bastante "básico" y rutinario (repetible) por decirlo de alguna manera, en su tiempo quedo aclarado el asuntito.
Llenándonos a algo mas de lleno a quien le agrade el diseño y codificación web lo sabra...
http://www.w3schools.com/ajax/default.asp
Dulces Lunas!¡.
Ese metodo es lindo para trabajar asicrono, por las dudas aparte de usar un timer sabes si se pude disparar el envento onreadystatechange, utilizando createobject.
Saludos.