ERRO COMPLICADISSIMO!
Pessoal, tenho uma classe que usa DDE, para pegar a url do Firefox e IE (monitoramento de sites de um programa para Cyber).
To com um problema, complicado pra resolver.
Quando eu abro ou fecho (tanto o IE ou Firefox), as vezes acontecesse o erro embaixo:
http://img12.imageshack.us/img12/1963/errovb.jpg
Dando F8 (Debug) vira esse:
http://img7.imageshack.us/img7/3993/semttulolvs.jpg
Provavelmente ele vem dessa parte da classe:
Public Sub New()
Dim callbackRef As New DdeCallbackHandler(AddressOf DdeCallback)
m_timeout = 30000
DDEid = 0
[ô] Initialisation DDE
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
If DdeInitialize(DDEid, callbackRef, APPCLASS_STANDARD Or APPCMD_CLIENTONLY, 0) <> DMLERR.NO_ERROR Then
DDEid = 0
Return
End If
Call GC.KeepAlive(callbackRef)
GC.WaitForPendingFinalizers()
GC.Collect()
End Sub
Ja faz alguns dias que estou tentando consertar isso... alguem tem alguma idéia de como,e porque isso acontece e como resolver?
To com um problema, complicado pra resolver.
Quando eu abro ou fecho (tanto o IE ou Firefox), as vezes acontecesse o erro embaixo:
http://img12.imageshack.us/img12/1963/errovb.jpg
Dando F8 (Debug) vira esse:
http://img7.imageshack.us/img7/3993/semttulolvs.jpg
Provavelmente ele vem dessa parte da classe:
Public Sub New()
Dim callbackRef As New DdeCallbackHandler(AddressOf DdeCallback)
m_timeout = 30000
DDEid = 0
[ô] Initialisation DDE
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
If DdeInitialize(DDEid, callbackRef, APPCLASS_STANDARD Or APPCMD_CLIENTONLY, 0) <> DMLERR.NO_ERROR Then
DDEid = 0
Return
End If
Call GC.KeepAlive(callbackRef)
GC.WaitForPendingFinalizers()
GC.Collect()
End Sub
Ja faz alguns dias que estou tentando consertar isso... alguem tem alguma idéia de como,e porque isso acontece e como resolver?
Tem como mandar o projeto? Só debugando mesmo pra detectar a causa.
Mordor, muito obrigado pela atenção!
Descobri que o problema, era o Delegate que ficava sempre ativo... procurando por 'páginas.
Não sei porque, mas, se eu tivesse fazendo um consulta no banco ao mesmo tempo, quando o Garbage Colettion entrava, dava caca...
Retirei a parte do banco de dados... pronto, não tive mais o problema...
vai entender?
Ja ouvi dizer que é pau no framework .net, mas, não tenho certeza se é.
Descobri que o problema, era o Delegate que ficava sempre ativo... procurando por 'páginas.
Não sei porque, mas, se eu tivesse fazendo um consulta no banco ao mesmo tempo, quando o Garbage Colettion entrava, dava caca...
Retirei a parte do banco de dados... pronto, não tive mais o problema...
vai entender?
Ja ouvi dizer que é pau no framework .net, mas, não tenho certeza se é.
Tópico encerrado , respostas não são mais permitidas