Ver Mensaje Individual
  #5  
Antiguo 25-01-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Uno no implementa un thread para un boton, implementa metodos y luego esos metodos los ejecuta en segundo plano (en background) en otro(s) hilo(s) de ejecucion, para que el hilo principal que controla la interfaz pueda seguir haciendo su trabajo

Usar Application.ProcessMessages para mi es como poner un goto; lo siento pero creo que es ahogarse en un vaso de agua. La forma de resolver estos problemas es usando threads; y si, es dificil, muy dificil, es un arte. Por eso es que siempre se insiste en escribir codigo desacoplado, sobre todo desacoplado de la VCL; los procesos de negocio deberian poder funcionar en una aplicacion de consola

Si se escribe codigo de esta manera, pasarlo a multi-thread es mucho mas facil, mucho mas natural y mucho mas poderoso (mas rapido y eficiente a la hora de usar recursos)

Un buen sitio para aprender multi-thread con delphi es el de Primoz Gabrijelcic:

Revisa su blog, sobre todo la parte de presentaciones

Este es su sitio web personal, donde tambien demuestra como usar la nueva unidad System.Threading que se incluye a partir de XE 7

Y por ultimo hay varios replays de CodeRage en Youtube donde tambien se muestran tecnicas muy interesantes

Última edición por AgustinOrtu fecha: 25-01-2016 a las 23:56:23.
Responder Con Cita