Evitar Duplo Clique em Botões

Delphi

19/02/2015

Olá,

Alguem sabe dizer se existe alguma propriedade que evite duplo cliques em botões. Imaginem a seguinte situação:

Temos uma rotina que faz lançamentos em estoque, e o usuario clica 2 vezes bem rapidamente, o sistema processa a informação 2 vezes devido ao segundo clique.

Obrigado desde já!

Junior
Araujo Junior.

Araujo Junior.

Curtidas 0

Melhor post

Renato Rubinho

Renato Rubinho

19/02/2015

Eu controlo ou pela tag ou pelo caption ou alguma variável, dependendo do caso.

procedure button1click(sender);
begin
  // Se for 1, sai porque está executando
  if button1.Tag = 1 then
    exit;

  // Muda para 1 quando for processar para evitar nova execução
  button1.Tag := 1;

{
restante da procedure
.
.
.
}


  // No Final, volta para zero para permitir nova execução
  button1.Tag := 0;
end;

GOSTEI 1

Mais Respostas

Joel Rodrigues

Joel Rodrigues

19/02/2015

Você não poderia desabilitar o botão no primeiro click e só habilitar novamente após o final do processamento?
GOSTEI 1
Araujo Junior.

Araujo Junior.

19/02/2015

rrubinho, essa alternativa era a que eu estava utilizando, estava atras de algo que tivesse no proprio componente. Mesmo assim obrigado pela atenção

Joel, antes de usar a alternativa do rrubinho, mas não funciona, pois quando é feito o duplo clique ele executa a ação mais rapido que o delphi inabilita o botao, e ficam 2 processamentos do mesmo jeito.

Obrigado a todos.
GOSTEI 0
POSTAR