FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Multithread
Buenos días, siguiendo un ejemplo de downloader de Neftali me he creado esta unidad de descarga
seguramente se podrá mejorar. El problema es que esto me funciona cuando tengo un solo thread, pero como haria por ejemplo que es lo que quiero hacer para mandar los datos de descarga con un progressbar a un listview y en multithread. O sea un Multidownloader con listview y progressbar al estilo del Jdonwloader. Última edición por angelp4492 fecha: 11-05-2012 a las 10:43:36. |
#2
|
||||
|
||||
Recuerda poner títulos descriptivos a las preguntas, gracias
|
#3
|
||||
|
||||
pero si eso que tenes ya es multithread! cada instancia que creas de esta clase es un thread; si creas 5 instancias vas a tener 5 threads!
lo unico que te faltaria es tener 5 barras de progreso, y alguna forma de decir que barra corresponde a que thread. Cuando digo 5, pueden ser los que quieras Si no es eso a lo que te referis, escribi un ejemplo de lo que necesitas, asi te podemos ayudar mejor Saludos |
#4
|
|||
|
|||
Cita:
Si a eso exactamente me refiero, tengo una barra de progreso y cuando lanzo 5 thread todos me muestran los datos en la misma barra, y no se como poner los datos en sus correspondientes barras. |
#5
|
||||
|
||||
y tendrias que identificar cada thread, por ejemplo mandandole un nro cuando lo creas, entonces despues cuando el thread llama a actualizar el progressbar pasa su nro por parametro y el Form1 en base al nro que recibe actualiza uno u otro progressbar.
Seria algo asi: y cuando llamas a actualizar la barra de progreso: y en el procedimiento UpdateProgressbar te fijas en el nro que te pasan por parametro y actualizas la barra que corresponde Espero se entienda Saludos |
#6
|
|||
|
|||
Siguiendo unos ejemplos que hay por la red y cambiando la forma que el thread manda información, usando WM_USER, me he creado una clase para controlor el thread.
En la recepción del mensaje del thread tengo esto.
donde TTransferfile y Tdownload file son clases para manejar la descarga y downloadlist una variable de tipo objectlist. el progressbar lo creo de esta manera. . En totalbytes_ tengo el tamaño del fichero en bytes, el progressbar1 componente normal me lo acepta si problemas cuando pongo form1.progressbar1.max=totalbytes_ El problema que tengo es en esta linea TTransferFile(DownloadList[i]).ProgressBar.Max := TTransferFile(downloadlist[i]).TotalFileSize; me sale un error que solo acepta entre 0 y 65536. Alguna Idea. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Duda en Sockets MultiThread | JesusRamirez | Internet | 3 | 21-08-2010 06:54:13 |
componente MultiFileDownloader multithread para bajar http y ftp en indy 10 | softx2009 | Internet | 3 | 18-01-2010 16:17:47 |
|