Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Firebird con Threads (https://www.clubdelphi.com/foros/showthread.php?t=75355)

maeyanes 23-08-2011 15:27:55

Hola...

gluglu, este código:

Código Delphi [-]
procedure THPrueba.Button20111Click(Sender: TObject);
var 
  Hilo: THilo;

begin
  Hilo := THilo.Create(True);
  Hilo.FreeOnTerminate := False;
  Hilo.Resume;
  Timer1.Enabled := True
end;

se puede ejecutar las veces que quieras y no va a dar ningún problema, no se por que sigues diciendo que si. Es más, hasta se podría escribir así:

Código Delphi [-]
begin
  with THilo.Create(True) do
  begin
    FreeOnTerminate := False;
    Resume
  end;
  Timer1.Enabled := True
end;

y seguiría sin dar problemas. Esto claro, en el caso expuesto en el ejemplo. En algún otro caso, donde si necesites hacer referencia a algún hilo en particular, entonces si que se podría usar algún mecanismo para guardar estas referencias.



Saludos...

gluglu 23-08-2011 16:34:34

Pues tienes toda la razón. Estoy equivocado. También funciona como indicas. Lo acabo de comprobar.

Tenía entendido que era 'necesario' tener diferentes referencias de cada hilo. Me queda claro que si no necesito hacer referencia desde otro sitio a ninguno de estos hilos en particular, no hace falta darle diferentes nombres.

... disculpas :o

Jack 24-08-2011 12:37:18

Ya funciona, gracias a todos
 
gluglu tu código funciona perfecto, mil millones de gracias por tus indicaciones y agradecimiento a todos los que me han dado alguna pista.
Sólo me queda transformar este código para acoplarlo a la recepción y reenvio de datos via socket. Espero no tener ningún problema y poder averiguar donde estaba cometiendo el error que tantos quebraderos de cabeza me ha dado. Cuando lo tenga implementado y funcionando volveré a agradeceros a todos vuestras indicaciones. Un saludo Jack.

aladelta 25-01-2012 15:36:55

Hola a todos,
Me gustaria hacerles una pregunta...¿se puede interactuar con una tabla creada dentro de un thread?, es decir, en los ejemplos precedentes se declara una database, transaccion y dataset, y la cuestion es si este dataset se puede poner en un dbgrid e interactuar con el dbgrid de forma habitual.
Yo actualmente trabajo en XE2 y firebird 2.5 con los componentes de DBExpress, y si esto se puede extrapolar a estos componentes, ¿podriamos abrir un tclientdataset de un datamodulo dentro de un Thread e interactuar con el en la forma descrita antes?
Gracias a todos por la ayuda.


La franja horaria es GMT +2. Ahora son las 14:00:11.

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