3º posteo consecutivo.. Espero que no se enojen.. pero es que son temas totalmente distintos de lo que hablo...
Otra cosa amigo:
La aplicacion se tilda cuando estas SPAMEANDO...
Porque sucede ésto??
PORQUE ES LA MISMA APLICACION la que está enviando los e-mails..
Y tu dirás? Y QUIEN QUIERES QUE LA ENVIE IDIOTA?!?!?!
Y yo te respondo:
Pues... dile a alguien que te los envie...
Como se hace ésto? CREANDO HILOS...
Ahora preguntate:
Si tienes 1 solo microprocesador en tu Computadora... y tu sabes (porque lo ves) que toda aplicacion en la PC tiene su barra de estado.. donde se van cargando las cosas y la barra va diciendo en que porcentaje va... Entonces.. dices: "Pero como es posible??? si los archivos y configuraciones se estan cargando porque el microprocesador los está cargando... entonces.. quien está mirando que la barra de progreso tiene que ir aumentando???"
Y ahí es cuando sale la idea de: "Porque hay 2 cosas al mismo tiempo... Hay una carga de archivos y configuraciones.. y alguien que va controlando la barra de estado.. y el microprocesador hace un rato cada cosa"
Entonces, cuando empiezas a ver la complegidad de todo lo que hay en tu PC.. te das cuenta que 1 programa.. en realidad se divide en MUCHOS sub-programas que cada uno hace su trabajo.. y todos lo hacen al mismo tiempo
Imagina lo siguiente:
Tienes una PC HIPERSUPERDEMACIADO LENTA.. que suma 2 numeros cada 1 segundo...
Supongamos que tenemos un programa que tiene que sumar 120 numeros... en teoria.. en 1 minuto tu PC terminará de sumarlos.. Pero ese mismo programa.. cada 15 segundos te tiene que decir: "Hola.. como te va?"
Bien.. como haría tu PC para sumar ese super numero sin terminar y a la vez cada 15 segundos darte ese aviso???
No podria si no UTILIZAS HILOS..
Porque??
Porque necesitarias un "acompañante" al lado que diga: "Tu sugue sumando.. yo avisaré cada 15 segundos"
Ahí te das cuenta que tu programa NECESITA 2 pedasos.. el que suma y el que avisa...
OK...
TU TAMBIEN NECESITAS LO MISMO...
Que tu programa cree un HILO (acompañante) en dodne en ese hilo se manden los e-mails... para que tu programa no se tilde.. él ni se enterará de que estas mandando e-mails... porque su amigo lo hará...
Tu tendrias que crear un
Public Sub ENVIARMAILS()
//aqui todo el codigo para enviar e-mails
End Sub
y desde tu aplicacion.. al hacer clickk en el boton: HACER SPAM.. que diga lo siguiente:
Dim hilo1 As New Thread(AddressOf ENVIARMAILS)
Entonces creará tu HILO1..
Cuando quieras dejar de enviar e-mails... haces:
hilo1.close() (creo que era así) y se terminará de enviar e-mails...
Thread (en ingles) = HILO
Aqui te dejo un hermoso tutorial para ello:
http://www.elguille.info/colabora/2007/thepirat_HilosYpuertos.htmOtra cosa:
Al iniciar tu programa dice que esta cargando cosas... has visto que funciona perfectamenet?? no se tilda.. la barra de progreso anda a la perfeccion..., pero sin embargo estas cargando cosas... Pero.. ¿como has hecho que ande bien, sin utilizar Hilos?
Es obvio que la respuesta es:
IMPOSIBLE...
No estas cargando nada ahí seguramente... es pura "facha" para hacer creer que el programa es una SUPER BESTIA.. es mas... el tiempo e cargar es PERFECTAMENTE FIJO... y al cargar archivos.. la barra deberia ir deteniendose y haciendo cosas... Un programador se da cuenta que no es real..
Skeletron no seas tan cruel, apenas esta empezando (creo, si no es asi te doy toda la razon
) y ya quieres meterle threading? o multi-threading? Porque no le das programacion paralela entonces
Pero tiene razon, no me baje la aplicacion, pero si todo es cierto, deberias hacer algo. No hace falta que crees threads. Pon un timer en el formulario y lo hara por ti, eso si, mete unos cuantos Application.DoEvents() segun sea necesario xD
Pero usalo como solucion temporal hasta que aprendas a usar bien los threads
A por cierto Skeletron, es Thread.Abort()