Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   como crear un hilo de ejecucion ayudenme plis!!! (https://www.clubdelphi.com/foros/showthread.php?t=68364)

jazmin 09-06-2010 18:48:34

como crear un hilo de ejecucion ayudenme plis!!!
 
Buen Dia Chavos!

me podrian ayudar :p


quiero internarme en los profundos terrenos de los hilos de ejecucion
quiero hacer una prueba :cool::cool:


Código:


QryArticulos.Active:=False;
qryArticulos.SQL[2]:='Where codeart="'+Code.Text+'" ';
QryArticulos.Active:=True;



como puedo hacer esta instruccion dentro
en un hilo de ejecucion

y si me puede orientar un poquito explicandome cuales con los beneficios y perjuicios tiene para mis programas esta herramienta


gracias chicos!!!!!!!!!!:rolleyes:


droguerman 09-06-2010 23:13:49

Declaras el código como una función de un form o un datamodule, digamos form1.consulta.

Luego creas un Thread usando File->New Thread Object

el código para llamar al código mostrado se ejecuta dentro del método Execute, pero puesto que el código pertenece a un objeto visual debes llamar al método del form1 usando synchronize
Código Delphi [-]
procedure TuHebra.Execute;
  while FNoFinalizado do
  begin
     synchronize(form1.consulta);
     sleep(500); //pausamos la hebra medio segundo antes de la siguiente ejecución del bucle
  end;
begin
end;
creas la hebra con .create y eso es todo

jazmin 10-06-2010 18:57:42

voy a intentarle pero estoy un poco confundida haber si le entiendo jejejeje

jazmin 20-06-2010 21:28:22

no he podido hacer fucionar el codigo que me envias tienes alguna otra opcion?
o manera de realizar ese proceso

Neftali [Germán.Estévez] 21-06-2010 09:55:13

En mi página web puedes encontrar un par de ejemplos con código del uso de threads (ej1, ej2).
Una vez que tengas claro cómo funcionan, puedes intentar pasar las consultas a threads.
Por lo que se, las conexiones a base de datos no se pueden utilizar desde un thread, así que para lanzar esa consulta debes crear una nueva conexión desde el Thread. Pasarle los parámetros de conexión, crearla, y lanzar la consulta.


La franja horaria es GMT +2. Ahora son las 02:21:24.

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