• Lunes 15 de Abril de 2024, 18:31

Autor Tema:  VB se me queda bloqueado  (Leído 1314 veces)

deb82

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
VB se me queda bloqueado
« en: Martes 26 de Enero de 2010, 16:04 »
0
Buenas,
Tengo una mini aplicacion que consiste en descargar paginas web de una lista,
El problema esta que se me bloquea en la llamada getchunck,al cabo de un par de llamadas, descarga unas cuantas bien, pero al cabo de un rato se queda bloqueado hasta que el programa no responde en la linea

 vtData = i2.GetChunk(lCHUNKSIZE, icString)

os dejo aqui bajo el codigo por si alguien sabe el porque.


Private Sub i2_StateChanged(ByVal State As Integer)

    Const lCHUNKSIZE As Long = 1024
    Dim vtData As Variant ' Data variable.


    Select Case State

    Case icError ' 11
           
            MsgBox (i2.ResponseCode & ":" & i2.ResponseInfo)
            End
    Case icResponseCompleted  ' 12
 Dim strData As String: strData = ""
                 Dim bDone As Boolean: bDone = False

                 ' Get first chunk.
                 vtData = i2.GetChunk(lCHUNKSIZE, icString)
                 DoEvents

                 Do While Not bDone

                     strData = strData & vtData
                     ' Get next chunk.
                     vtData = i2.GetChunk(lCHUNKSIZE, icString)
                     DoEvents

                     If Len(vtData) = 0 Then
                         bDone = True
                     End If
                 Loop

              Case icDisconnected
                  Debug.Print "* Disconnected"
                  Unload Me

             End Select
  t2.Text = t2.Text & strData
End Sub

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: VB se me queda bloqueado
« Respuesta #1 en: Jueves 25 de Febrero de 2010, 11:33 »
0
Esto no es un problema de VB, esto es un problema de tráfico... Falta saber si tienes o no garantías de acceso a la página.

Si la llamada la hicieras asíncrona, habría más posibilidades, y sobre todo podrías en un momento dado tomar otro tipo de acciones: reintentar, descartar esa y continuar...
«Ma non troppo»
----> ModoVacaciones = False<----