Fórum Desativar e Ativar Application.message? #405346

20/07/2011

0

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

Ricardo Tolentino

Responder

Posts

20/07/2011

Marco Salles

e como vc as recebe ???

Responder

Gostei + 0

20/07/2011

Ricardo Tolentino

Como assim?   Application.messagebox?   Warning?     Vou procurar no vb tem algo similar para explicar melhor.    
Responder

Gostei + 0

21/07/2011

Ricardo Tolentino

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
Responder

Gostei + 0

21/07/2011

Marco Salles

[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 ???


Responder

Gostei + 0

22/07/2011

Ricardo Tolentino

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.
Responder

Gostei + 0

22/07/2011

Marco Salles

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

Responder

Gostei + 0

24/07/2011

Ricardo Tolentino

Funcionou. Obrigado pela dica.
Responder

Gostei + 0

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

Aceitar