Lista de threads

Delphi

26/08/2003

Oi pessoal,
eu estou com uma dificuldade: eu crio vários threads e identifico cada um com um número. Eu preciso rodar cada um em um horário específico e para isso eu tenho um componente alarme. No on alarme eu tenho que achar o thread específico para aquele horário, ex:

procedure TFormPrincipal.Criar(Nome,Referencia:String; Horario:TDateTime; Cubo:TCube;
Tipo:ProcessTypes);
begin
//cria o thead mas não executa
processo:=TProcesso.Create(true);
processo.Cubo:=Cubo;

//especifica horário e tipo de processamento
processo.Nome:=Nome;
processo.Referencia:=Referencia;
processo.Horario:=Horario;
processo.Tipo:=Tipo;
processo.Priority:=tpLower;
//Cria um alarme para cada Thread
Alarme.AddExact(Horario,Referencia);
end;

procedure TFormPrincipal.Executar(MeuProcesso:TProcesso);
begin
MeuProcesso.Resume;
MeuProcesso.WaitFor;
MeuProcesso.Free;
end;

procedure TFormPrincipal.AlarmeAlarm(Sender: TObject; AlarmEvent: Integer;
Reference: ShortString);
var p: TProcesso;
begin

//como eu acho o processo com a Referencia=Reference????
Executar(p);
end;


Hellen

Hellen

Curtidas 0

Respostas

Mturon

Mturon

26/08/2003

Cara Hellen, apesar de não estar muito familiarizado com o seu componente Alarm, ao ocorrer o evento onAlarm vc tem como identificar o Reference? Se tem, tente fazer um FOR, formatando o contador para montar o nome de sua tarefa, busque a tarefa especifica pelo nome e verifique a referencia da mesma. Isto deve resolver.
Agora... Mudando de assunto, alguma de suas tarefas mexe com queries? Vc sabe como montar threads utilizando Sessions para executar queries concorrentes em banco de dados? Preciso de um help neste assunto urgente. meu email é turon.cm@funcef.com.br
Valeu Helen, espero que minha dica ajude.


GOSTEI 0
POSTAR