Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Threads o algo parecido en Lazarus? (https://www.clubdelphi.com/foros/showthread.php?t=67990)

Richer 18-05-2010 11:37:53

Threads o algo parecido en Lazarus?
 
En fin, ya está funcionando el Lazarus, y ya empecé a programar la aplicación, pero me encontré con un problema que no sé solucionar... a ver si me podéis hechar un cable... ( Desde luego que cuando lo tenga acabado, tendréis un link para descargaroslo )

Estoy haciendo un servidor de streaming de video y audio en !live, y una de las partes del proyecto, es el programita que permitirá que cuando le des al botón, se conecte el servidor, que cuando le des al otro botón empiece la emisión de imágenes, pero... mira por donde... cuando le doy al botón de cualquiera de los streamings, se queda colgado el programa y no permite más... en fin, lo primero que se me viene a la cabeza... utilizar threads, pero... me quedo con la sorpresa que... en linux no hay, estoy estancao... :_(

Gracias de nuevo por vuestra atención.

P.D.: Falta añadir que para la ejecución de comandos, uso fpsystem('comando');

Ñuño Martínez 18-05-2010 12:22:36

Free Pascal también tiene la clase TThread, al igual que Delphi. La principal diferencia está en que no es un componente visual (lo cierto es que nunca entendí por qué en Delphi sí es visual). Eso quiere decir que tendrás que crear, configurar y eliminar los hilos "a mano", pero es casi lo mismo.

Aquí tienes una explicación detallada de TThread con ejemplos.

Richer 18-05-2010 12:27:44

Vale, gracias, pero... qué se tiene que hacer una unit nueva y escribirla de 0? es que desde delphi sé que había ya una clase tthread que la cabecera ya la tenías escrita y todo bien... ¿Eso no lo tiene, no? y... en caso que no lo tenga... se puede hacer una clase de 0 y programarla como un thread?

Ñuño Martínez 18-05-2010 12:37:45

Sinceramente: no me he'nterado de ná. :confused:

¿Te has leído la descripción detallada? ¿Qué parte no entiendes? ¿Qué parte no te funciona?

Richer 18-05-2010 12:47:38

Lo que me refiero es que... el windows el delphi, le das a nuevo, clase y ya te sale el thread. En el Lazarus, eso no existe, está para crear una unit y ya está... a parte del form, project y 4 cosas más que no tengo ni idea... en eso me refiero, que si hay que crear un unit, borrar todo el código que te escribe, y poner el del thread o realmente hay algo para crear la clase de thread directamente?

A parte, en el form ppal, a la que en el uses pongo el cthreads, peta... y en el debugger me pone ????????? :S hay que instalar algo también? estoy muy perdido con los threads en linux...

Ñuño Martínez 18-05-2010 13:43:18

Cita:

Empezado por Richer (Mensaje 364445)
Lo que me refiero es que... el windows el delphi, le das a nuevo, clase y ya te sale el thread. En el Lazarus, eso no existe, está para crear una unit y ya está... a parte del form, project y 4 cosas más que no tengo ni idea... en eso me refiero, que si hay que crear un unit, borrar todo el código que te escribe, y poner el del thread o realmente hay algo para crear la clase de thread directamente?

Tu extiende la clase TThread en la unidad que consideres. Quizá sí sea mejor en una unidad nueva.

Cita:

Empezado por Richer (Mensaje 364445)
A parte, en el form ppal, a la que en el uses pongo el cthreads, peta... y en el debugger me pone ????????? :S hay que instalar algo también? estoy muy perdido con los threads en linux...

Si has leído la explicación que he enlazado, en concreto esta sección (Unidades necesarias para una aplicación de múltiples hilos), Lazarus se encarga de añadir las unidades que necesita el proyecto así que déjale hacer, y más en cuanto a programas multi-hilo, ya que la unidad cthread es muy puñetera al respecto.

Léete bien la explicación que enlacé.

Richer 19-05-2010 09:06:58

Buenos días, solo tengo que decir GRACIAS!!! ya he conseguido que funcionara :D gracias por la paciencia y la ayuda ^^ un abrazo mu grande!


La franja horaria es GMT +2. Ahora son las 06:59:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi