https://foro.gambas-es.org/viewtopic.php?f=1&t=1752&p=10240#p10240
-----------------------------------
razaAztk
Lunes, 25 Julio 2011, 05:39

Re: Cola De Descargas
-----------------------------------
Lo que pasa es que tienes que definir el manejador (si se llama así?¿?¿ je) del proceso, para saber en que momento termina la descarga (con el evento _Kill).
He modificado tu código, he agregado un botón llamado "bDown" que dispara las descargas.

[code linenumbers=false syntax=gambas]
' Gambas class file
PRIVATE enlaces AS NEW String[]

PUBLIC SUB Form_Open()
' enlaces.Add("ftp://ftp.rediris.es/sites/releases.ubuntu.com/releases//10.04/ubuntu-10.04-netbook-armel+imx51.img")
' enlaces.Add("ftp://ftp.rediris.es/sites/releases.ubuntu.com/releases//10.04/ubuntu-10.04-netbook-armel+imx51.img")
' enlaces.Add("ftp://ftp.rediris.es/sites/releases.ubuntu.com/releases//10.04/ubuntu-10.04-netbook-armel+imx51.img")
enlaces.Add("http://dl.dropbox.com/u/3701367/www/images/anarquia_peque.gif")
enlaces.Add("http://dl.dropbox.com/u/3701367/www/images/cargando.gif")
enlaces.Add("http://dl.dropbox.com/u/3701367/www/images/redstar.jpg")

listado.Columns.Count = 1
listado.Rows.Count = enlaces.Count
mostrarDatos()
END

PUBLIC SUB bAgregar_Click()
  enlaces.Add(enlace.Text)
  listado.Rows.Count = enlaces.Count
  mostrarDatos()
END

PRIVATE FUNCTION mostrarDatos()
  DIM i AS Integer = 0
  
  FOR i = 0 TO enlaces.Length - 1 STEP 1
    listado[i, 0].Text = enlaces[i]
  NEXT 
END

' PUBLIC SUB listado_DblClick()
'   SHELL ("wget " & enlaces[listado.Row])
' END

PUBLIC SUB bDown_Click()

  IF listado.Rows.Count THEN 
    bDown.Enabled = FALSE
    EXEC ["wget", listado[0, 0].Text] FOR READ AS "downProc"
  ENDIF 

END

PUBLIC SUB downProc_Kill()
  
  listado.Rows.Remove(0)
  listado.Refresh()
  IF listado.Rows.Count THEN 
    EXEC ["wget", listado[0, 0].Text] FOR READ AS "downProc"
  ELSE 
    bDown.Enabled = TRUE
  ENDIF 
  
END

[/code]

Creo que el anterior código cumple con lo que quieres.

Saludos!

EDITO:
Otra cosa, no veo la necesidad de vaciar los enlaces a un array y luego al gridView. Puedes hacerlo todo directo con el gridView.


