Sincronizar Threads

16/10/2019

0

Boa tarde pessoal!
Criei um exemplo de um Thread que recebe um ProgressBar e incrementa a posição dele, aquele exemplo clássico.
Coloquei 2 progressBar no formulário e fiz dois botões, cada um inicia uma Thread.
O que tenho que fazer para que seja exibida uma mensagem ao terminar a execução das 2 Threads?

Classe Thread segue abaixo:
type TBarra = class(TThread)
    private
      Fbarra:TProgressBar;
      FposIni:integer;
      FposFin:integer;
      FposAtual:integer;
    public
      property barra:TProgressBar read Fbarra write Fbarra;
      property posIni:integer read FposIni write FposIni;
      property posFin:integer read FposFin write FposFin;
      property posAtual:integer read FposAtual write FposAtual;
      constructor Create;
      destructor Destroy;
      procedure Execute;override;


procedure TBarra.Execute;
begin
  try
    inherited;
    Fbarra.Min := FposIni;
    Fbarra.Position := FposIni;
    Fbarra.max := FposFin;
    while (Fbarra.Position < FposFin)and not(Terminated) do
    begin
      Fbarra.Position := Fbarra.Position + 1;
    end;
  finally
    self.Terminate;
    self.free;
  end;
end;
Carlos Leite

Carlos Leite

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar