![]() |
Dudas con Threads en Delphi
Saludos a todos. Tengo un par de dudas con respecto al uso de Threads/Hilos en Delphi:
Primero: Con CreateThread como le puedo pasar un parámetro de tipo String a una función? Había intentado algo así pero nada:
------------------ Segundo: En Delphi que es mas recomendable utilizar BeginThread de SysUtils o directamente CreateThread? |
Primero que nada creo que deberías averiguar los parámetros de la funcion CreateThread en la propia página de Microsoft.;),
Segundo.- Para Trabajar con Hilos, Delphi ya posee una Clase preparada(Clase TThread) para tal, tú tan solo debes crearte una clase descendiente de ésta y sobreescribir el método Execute para ejecutar algun proceso o una tarea deseada, inclusive Delphi posee un Asistente(Wizard) que te fascilita el trabajo de crecion de Hilos;). Por otra parte sería mas conveniente que explicaras exactamente lo que deseas hacer y el por qué estas queriendo utilizar directamente las API de windows para crear hilo siendo que, ya delphi hace el trabajo por tí ? :confused: Saludos...:) |
Independientemente de los motivos por los que has decidido usar la API directamente, el principal problema está en la declaración de la función que quieres ejecutar en el hilo. No puede ser un procedimiento sino una función y debe ser stdcall:
Saludos. |
Tengo un procedimiento al cual le envío dos parámetros, con estos se procesa con un ciclo, estos toman bastante tiempo para culminarse, por lo tanto me bloquea la pantalla, según he leído la solución podría ser hacer un hilo que ejecute esa función, pero la duda es ¿como enviarle a la función del hilo los parametros?, agradezco sus respuestas.
Código:
type |
Quizás la forma mas sencilla y clara sea definir esos parámetros como propiedades de la clase TThread que has creado. Al instanciarla, creas un Thread en modo suspendido (Suspended), colocas los valores apropiados y luego permites la ejecución (Resume).
Saludos. |
La franja horaria es GMT +2. Ahora son las 06:46:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi