|
|
|
|
|
Dicas
|
|
Visual Basic (Miscelâneas)
|
|
|
Título da Dica: Otimizando a utilização do DoEvents
|
|
|
|
Postada em 3/9/2003 por Ð@®l@n
Como todos sabem, é importante a utilização do DoEvents em meio a longos processamentos para que o usuário possa interagir com nossa interface gráfica, eventualmente até cancelando o processamento (assunto do treinamento de Fundamentos de VB).
Mas o DoEvents é lento. Um demorado processamento pode levar um tempo inaceitável para ser executado quando acrescentada a instrução DoEvents. Para evitar isso pode-se utilizar um truque para otimiza-lo : Só chamar o DoEvents quando realmente houver algo a processar.
E como vamos saber se há algo para processar ? Simples : podemos utilizar a função da API chamada GetInputState para verificar se existe algo a ser processado pela aplicação. Eis a declaração da API :
Declare Function GetInputState Lib "user32" Alias "GetInputState" () As Long
Quando desejar chamar o DoEvents dentro do processamento utilize o seguinte IF :
IF GetInputState() then DoEvents
Desta forma o Doevents só será chamado quando realmente necessario, otimizando o processamento
|
|
|
|
|