Desativar e Ativar Application.message?

Delphi

20/07/2011

Tem como desativar as mensgens de um form Application.message?   Delphi 2010.
Ricardo Tolentino

Ricardo Tolentino

Curtidas 0

Respostas

Marco Salles

Marco Salles

20/07/2011

e como vc as recebe ???

GOSTEI 0
Ricardo Tolentino

Ricardo Tolentino

20/07/2011

Como assim?   Application.messagebox?   Warning?     Vou procurar no vb tem algo similar para explicar melhor.    
GOSTEI 0
Ricardo Tolentino

Ricardo Tolentino

20/07/2011

Existe um metodo que não sei o nome, quando eu executar o meu desativar as mensagens. no Final ativa as mensagens.   Begin mensagens = false; .. .. ...   mensagens = true; end;       Tentei assim só que ele exibe a mensagem.
Application.OnMessage := nil;
Application.MessageBox('a','b',0); no vc do Access tem este metodo.
   DoCmd.SetWarnings False
    DoCmd.OpenQuery "C_EXCLUI DATA PROGRAMADA", acViewNormal, acEdit
    DoCmd.SetWarnings True
GOSTEI 0
Marco Salles

Marco Salles

20/07/2011

[QUOTE]Tentei assim só que ele exibe a mensagem.
Application.OnMessage := nil;
Application.MessageBox('a','b',0);[/QUOTE]

Mas ele exibe as mensagens onde ? Como ? Quando ???


GOSTEI 0
Ricardo Tolentino

Ricardo Tolentino

20/07/2011

As mensagens são exibidas no on enter de um tedit.  Tenho um evento que é disparado e que passa pelo tedit varias vezes. Gostaria de desativar o primeiro evento enquando o segundo estiver executando. Acredito que não posso usar uma variavel global, pois os eventos são criados em tempo de execução. E tem um terceiro evento que exibe uma mensagem tambem quando o botão é clicado e dependendo da situação exibe a mensagem. Gostaria de desativala tb. Resumindo se fosse possivel destivar todas as mensagens enquando o segundo evento estiver processando, seria o idel.   Agradeço a ajuda.
GOSTEI 0
Marco Salles

Marco Salles

20/07/2011

Para desativar vc tem que atribuir Nil ao manipulador de evento e depois retornar

Por exemplo a instrução abaixo

procedure TForm7.Button3Click(Sender: TObject);
begin
self.Button1.OnClick:=nil ;  // desabilita o evento  onclick do Button1
end;

procedure TForm7.Button4Click(Sender: TObject);
begin
Self.Button1.OnClick :=Self.Button1Click;  // Retoma
end;


Agora para resolver o seu caso , mesmo que esses eventos sejam atribuidos em rumtime eles tem um
Ponteiro .. No caso acima Self.Button1Click é o ponteiro

dentro do onEnter vc tem que atrinuir nil a esses ponteiros que vc quer desativar e de acordo com a sua
lógica em momento oportuno Vincular novamente o manipulador do evento ao método correspondente

Mas é assim que se faz

GOSTEI 0
Ricardo Tolentino

Ricardo Tolentino

20/07/2011

Funcionou. Obrigado pela dica.
GOSTEI 0
POSTAR