Fórum Multi Thread #320883
08/05/2006
0
Pessoal, criei uma rotina de monitoramento a pastas remotas (de 80 maquinas, com tempo INFINITE) para copiar arquivos em uma area concentrada, até ai tudo bem, mas (mesmo tendo o ThreadId), não consigo destruir uma Thread especifica.... alguem tem alguma sugestão ??
Obrigado
segue a rotina que utilizei para criar as threads, onde cdJob são registros de um ClientDataSet:
while not dm.cdJob.Eof do
begin
if (DirectoryExists(dm.cdJobORIGEM.AsString)) then
begin
dm.cdJob.Edit;
FThread := TMonitorThread.Create(true);
FThread.ConfiguraMonitor(dm.cdJobORIGEM.AsString, false,
FILE_NOTIFY_CHANGE_FILE_NAME, AvisaModificacao);
dm.cdJobTHREAD.AsString := IntToStr(FThread.ThreadID);
FThread.Resume; // inicia a thread
dm.cdJob.Post;
end
else
begin
MemoStatus.Lines.Add(´Erro ao tentar conectar com Servidor: ´+dm.cdJobIDLOJA.asString);
dm.cdJob.Edit;
dm.cdJobTHREAD.AsInteger := -1;
end;
dm.cdJob.Next;
:?: end;
Obrigado
segue a rotina que utilizei para criar as threads, onde cdJob são registros de um ClientDataSet:
while not dm.cdJob.Eof do
begin
if (DirectoryExists(dm.cdJobORIGEM.AsString)) then
begin
dm.cdJob.Edit;
FThread := TMonitorThread.Create(true);
FThread.ConfiguraMonitor(dm.cdJobORIGEM.AsString, false,
FILE_NOTIFY_CHANGE_FILE_NAME, AvisaModificacao);
dm.cdJobTHREAD.AsString := IntToStr(FThread.ThreadID);
FThread.Resume; // inicia a thread
dm.cdJob.Post;
end
else
begin
MemoStatus.Lines.Add(´Erro ao tentar conectar com Servidor: ´+dm.cdJobIDLOJA.asString);
dm.cdJob.Edit;
dm.cdJobTHREAD.AsInteger := -1;
end;
dm.cdJob.Next;
:?: end;
Douglasmmm
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)