PROBLEMA COM CODIGO

CO.HERDEIRO 10/12/2006 11:33:31
#189098

Pessoal,

O que está acontecendo é o seguinte, eu faço uma inserção no BD e chamo uma Sub AtualizaGrid

Essa sub faz justamente o que o nome diz, lê o BD e faz a atualização do Grid, o problema é que o Grid não atualiza e pelo que percebi o problema é na velocidade da leitura do código, ou seja o VB está lendo tudo antes mesmo do registro aparecer no BD.

Percebi isso pois ao colocar um simples

 for i = 0 to 100000
doevents
next


funcionou normal, a questão é que isso é uma baita de uma ganbiarra, gostaria de saber se alguém já passou por esse problema e se existe algum meio de resolver.
USUARIO.EXCLUIDOS 10/12/2006 13:55:17
#189114
muitas vezes existe um atropelamento de funções/funcionamento
tipo, se vc simplesmente colocar

Private Sub Command1_Click()
Me.Hide
Me.Show
End Sub

é praticamente impossível de você ver o form "piscar", isso porque o computador pega tudo que está dentro do Command e executa tudo de uma só vez,
mas, se você fizer

Private Sub Command1_Click()
Me.Hide
DoEvents
Me.Show
End Sub

então o form chega a piscar, claro, se seu pc for potente vc nem o verá de tão rápido,

esse problema ocorre mais com objetos externos, como em Winsock

a dica é colocar um DoEvents depois de um .Add, este comando faz com que o VB faça tudo o que tem que ser feito antes dele para depois passar para os próximos comandos
Tópico encerrado , respostas não são mais permitidas