![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola JAI_ME
Para el tema de los hilos de ejecución, te recomiendo leas un poco al respecto. - Los Hilos de Ejecución - Threading in Delphi Eso te dará algunas ideas de como implementar lo que necesitas sobre los hilos de ejecución o te aclarará si necesariamente los requieres para solucionar tus problemas.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
|
#2
|
||||
|
||||
|
De todas formas, si quieres hacerlo con lo que tienes ahora, puedes controlar al llamar a esa función si ya está enviando algo, en ese caso esperas.
Puedes meter todos los envíos en una cola, una simple lista, y un timer que vaya comprobando si ya acabó de enviar, en cuanto está libre entonces envía el siguiente de la cola, y hasta que se terminen todos.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
|||
|
|||
|
Cita:
En un boton tengo el siguiente código donde hago la llamada al procedimiento que envia al servidor Cita:
como se dan cuenta envío el mismo archivo al servidor y hay veces que envía mas de 1000 archivos sin sacar el error, en este ejemplo como implemento lo que me comentas. PD. la función subirArchivo tiene el código que expuse al principio.
__________________
JaiMelendez |
|
#4
|
||||
|
||||
|
No, así no, hazlo con un Timer, le pones que se ejecute cada 1 segundo, por ejemplo, y en su evento 'execute' haces la llamada a subirarchivo con el que toque de la lista que tengas.
A ver si encuentro un ejemplo...
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
JAI_ME,
Cita:
El código anterior envía múltiples archivos vía FTP usando dos métodos: 1- Enviando múltiples archivos de forma individual (Uno a Uno). 2- Enviando múltiples archivos de forma simultanea por medio de Threads. Nota: 1- Los archivos se pueden seleccionar por medio de un TOpenDialog que permite selección multiple. 2- La cantidad de Bytes enviados al servidor FTP se controla por medio de un TProgressBar. Cita:
La aplicación fue realizada en Delphi 7 usando el Componente FTP de Indy 9. La aplicación esta implementada en el siguiente link: FTPUpload_MultiFiles.rar Espero sea útil ![]() Nelson. Última edición por nlsgarcia fecha: 27-04-2015 a las 22:13:44. |
|
#6
|
||||
|
||||
|
Está muy bien esa solución.
Aunque para estas cosas no sé yo si vale la pena, me explico: si tiene que subir 1000 archivos entonces tardará según el ancho de banda que tenga. Si usa hilos lo único que se consigue es que en lugar de subir un archivo a, por ejemplo, 1 mega, subirán 2 a medio mega, 4 a un cuarto de mega, etc. o sea, que no se reducirá el tiempo. Es por lo que personalmente prefiero subir uno a uno, ya que el tiempo para subirlos no va a mejorar, así que no lo encuentro muy necesario. Es sólo una preferencia personal. Tengo algunos programitas que hacen eso, por ejemplo, uno de ellos sube imágenes casi diariamente (por FTP) a una web, son imágenes pequeñas (10 a 50 Kb), aunque son muchas (alrededor de 20 ó 30 mil) y lo hace una a una. Por supuesto, envía una cuando ha acabado con otra, no se intenta enviar todas al mismo tiempo, que es el problema que no ha controlado JAI_ME. De todas formas, la solución propuesta nlsgarcia es excelente.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 28-11-2012 a las 12:11:33. |
|
#7
|
|||
|
|||
|
Error en el acceso al Form
Hola a todos,
gracias nslgarcia por el código propuesto. Tengo un problema con el código que he utilizado yo para enviar mediante un TidSMTP un correo electrónico. El problema me aparece en mi código pero tambien en el proyecto que he descargado en el link que nos indicas. En estas dos funciones, al acceder al Formulario para añadir las lineas en el Memo1, me devuelve un "Access Violation".
¿Alguna idea? |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ayuda con Hilos de ejecucion | kurono | Varios | 19 | 15-01-2011 15:36:40 |
| Problema con hilos de ejecucion | gueritox | OOP | 1 | 14-08-2010 15:26:06 |
| como crear hilos de ejecucion en delphi 2007 | pablopessoa | Varios | 1 | 23-10-2008 19:11:08 |
| Aplicacion con varios Hilos de Ejecución | samantha jones | Varios | 1 | 02-03-2005 17:27:24 |
| Hilos de ejecucion | el toluca | Varios | 2 | 29-06-2004 22:59:04 |
|