Objeto Thread (Sólo proyectos visuales)


Desde la versión 1.0.06.0019, Easy Code incorpora el nuevo objeto thread, que permite crear threads fácilmente en cualquier aplicación visual. Un objeto thread se trata como un objeto control, por consiguiente, tiene una constante del identificador del control como cualquier otro objeto. Para más información sobre como obtener el identificador de un control, vea Obteniendo los identificadores de los controles.

Cuando se agrega un objeto thread a una ventana, también se crea un procedimiento para el thread. El nombre de este procedimiento se forma con el nombre de la owner window más el nombre del objeto thread (respetando mayúsculas y minúsculas), como cualquier otro control. Por ejemplo, si el objeto thread tiene el nombre Thread1, y se encuentra dentro de una ventana llamada Window1, su nombre de procedimiento será Window1Thread1, y éste será el procedimiento al que el thread llamará. Consecuentemente, NO CAMBIE NUNCA manualmente el nombre del procedimiento para que el thread pueda funcionar correctamente. Cuando se cambia el nombre del objeto thread (o el nombre de la owner window) en la ventana de Propiedades, Easy Code también cambia el nombre de procedimiento del thread de acuerdo con el nuevo nombre.

También puede pasar la dirección de una variable existente al procedimiento del thread, indicando su nombre en la propiedad Parameter. La dirección de la variable indicada se pasará como el argumento lpParameter. Vea la propiedad Parameter para más información.

Después de que el thread ha sido creado, tal vez desee obtener su handle para cambiar su estado y/o prioridad (valores establecidos en tiempo de diseño). Si es así, solamente tiene que llamar al método GetWindowItem, como lo hace para cualquier otro control. Vea los ejemplos Threads y NetMon en la carpeta \EasyCode.Ms\Examples.


OBSERVACIONES: Easy Code puede crear hasta un máximo de 48 threads por cada aplicación. Para controlar la prioridad y/o el estado de un thread, vea la ayuda de las funciones de la API GetThreadPriority, SetThreadPriority, ResumeThread y SuspendThread.