GARANTIR DESCONTO

Fórum Desabilitar Temporariamente a execução de um Evento #273490

22/03/2005

0

Bom Dia Senhores.

Tenho Um a procedure na secção Private do meu Formulário. Esta procedure e ativada pelas Mensagems Enviadas da Api Do Windows

procedure WMTimeChange(var Message: TMessage); message WM_TIMECHANGE;


Sabemos que para desabilitar Um evento , Muitas das Vezes Atribuimos [b:892eea5453]Nil [/b:892eea5453]ao seu manipulador

Exemplo :

Form1.Edit1Change:=Nil


E Como Fazer Para Desabilitar estas Chamadas Que Vem , Digamos assim, da Api Do Windows :?: :?: :?: :?: :?: :?: :?:

Obrigado


Marco Salles

Marco Salles

Responder

Posts

22/03/2005

Nildo

Coloca um IF dentro da WMTimeChange

if WmTimeChange_Habilitado then
   // Faz tudo aqui


Dai é só você alterar o valor de [b:db5b9ea197]WmTimeChange_Habilitado[/b:db5b9ea197] que será global.


Responder

Gostei + 0

22/03/2005

Marco Salles

Beleza Nildo.. De fato , ja tinha pensado nisso... Mas será que é sua palavra final no assunto.. Isto é : Não tem código , via delphi , que desabilite a Chamada a Esta Procedure :lol: :lol: :lol: :lol: :lol:

E que estou trabalhando com[b:9e0268e024] tempo[/b:9e0268e024], e eu gostaria se possível , diga-se de passagem, que a Chamada a Procedure Nen Ocorresse em Determinadas Condições :lol: :lol: :lol: :lol:

Mas de qualquer forma é muita válida a sua participação :P :P :P :P :P


Responder

Gostei + 0

22/03/2005

Nildo

Deve até ter como fazer, mas eu não me lembro :oops:


Responder

Gostei + 0

22/03/2005

Marco Salles

Mas se voce se lembrar estamos ai :D :D :D :D :D :D


Responder

Gostei + 0

22/03/2005

Kapak

Deve até ter como fazer, mas eu não me lembro
Acredito que nem por funções hook vc desabilita WM_TimeChange.
Quando chega essa msg, é pq a data/hora já foi alterada; ou seja; já era.


Responder

Gostei + 0

22/03/2005

Nildo

[quote:e8f2aafc8e]Deve até ter como fazer, mas eu não me lembro
Acredito que nem por funções hook vc desabilita WM_TimeChange.
Quando chega essa msg, é pq a data/hora já foi alterada; ou seja; já era.[/quote:e8f2aafc8e]

Ele nao quer desabilitar Wm_TimeChange, ele quer apenas ´deshookar´ esse controle do processo dele para nao receber mais notificações


Responder

Gostei + 0

22/03/2005

Kapak

Olá Nildo, pelo outro tópico que estávamos debatendo, o problema dele é de não deixar o usuário alterar a hora; então acredito que ele deve estar pensando que se for bloqueada essa msg, a hora não será alterada. Posso estar enganado, mas se for isso não vai adiantar pq vc pode instalar uma hook do tipo wh_callwndproc e não deixar que o Windows passe essa msg p/ os destinatários, mas o problema é que quando chega essa msg, a data/hora já foi modificada.


Responder

Gostei + 0

22/03/2005

Nildo

Kapak, ele só quer receber a notificação em determinado momento. Passado esse momento, ele não quer mais receber as notificações para não tomar muito processamento. Mas as mensagens vão continuar sendo processadas para os outros processos normalmente


Responder

Gostei + 0

22/03/2005

Kapak

Então eu não entendí, pq essa notificação não toma muito processamento pq ela só chega quando a data/hora é alterada por intervenção externa. O relógio interno não envia essa msg.


Responder

Gostei + 0

22/03/2005

Nildo

Então eu não entendí, pq essa notificação não toma muito processamento pq ela só chega quando a data/hora é alterada por intervenção externa. O relógio interno não envia essa msg.


Por isso eu instruí a usar uma variável de controle :P


Responder

Gostei + 0

22/03/2005

Kapak

Ah sim, acho que ele executa SetLocalTime dentro da procedure da msg e com isto wm_timechange é gerado e ficaria num loop infinito.


Responder

Gostei + 0

22/03/2005

Nildo

Provavelmente


Responder

Gostei + 0

22/03/2005

Marco Salles

Ah sim, acho que ele executa SetLocalTime dentro da procedure da msg e com isto wm_timechange é gerado e ficaria num loop infinito.


Provavelmente


é mais ou menos por aí...

Preciso desabilitar esta Chamada :oops: :oops: :oops: :oops: :oops:


Responder

Gostei + 0

22/03/2005

Nildo

Usa uma variável de controle, é mais facil hehe


Responder

Gostei + 0

22/03/2005

Marco Salles

Usa uma variável de controle, é mais facil hehe


Ja que não tem Jeito e ningume se arrisca :cry: :cry: :cry: Fazer o que ne :?: :?: :?:


Responder

Gostei + 0

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

Aceitar