Arquivos da categoria : Threads


Omni Thread Library 2

Primoz Gabrijelcic, acaba de disponibilizar a Omni Thread Library, uma biblioteca para simplificar a utilização de Threads.

Com esta biblioteca um método pode ser executado em uma thread separada sem a necessidade de criar uma classe descendente de TThread:

procedure TfrmTestOTL.btnBeepClick(Sender: TObject);
begin
CreateTask(Beep, 'Beep').Run;
end;

procedure TfrmTestOTL.Beep(Task: IOmniTask);
begin
MessageBeep(MB_ICONEXCLAMATION);
end;

 

image

 

Referências


AsyncCalls 2.0 unit 1

Andreas Hausladen não cansa de nos presentear com seus sensacionais projetos, ele lançou o AsyncCall 2.0, de acordo com o anúncio do próprio:

“A nova unit AsyncCalls 2.0 permite executar funções em diferentes threads. Utiliza interfaces para manter a sincronização na função que iniciou a chamada de função.

A Novidade da versão 2.0 é  o suporte a “sincronização inline da VCL/Main thread“. Com esta nova característica você pode implementar interações com a VCL da mesma função que é executada pela thread em trabalho. Não há a necessidades de métodos auxiliares e você pode usar todas as variáveis locais no código VCL inline.”

Página do projeto, descrição e download:
http://andy.jgknet.de/async

Versões de Delphi suportadas:
Delphi 7, 2005, 2006, 2007 (Win32 only)
Atualização: Adicionado suporte ao Delphi 6

Exemplo:

procedure TMyThread.Execute;
var
  S: string;
begin
  //…
  S := ‘Hallo’;
  EnterMainThread;
  try
    ShowMessage(S);
  finally
    LeaveMainThread;
  end;
  //…
end;