ERRO COMPLICADISSIMO!

CARINHENA 10/08/2009 00:56:18
#319414
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?
MORDOR 10/08/2009 03:00:36
#319416
Tem como mandar o projeto? Só debugando mesmo pra detectar a causa.
CARINHENA 11/08/2009 08:30:29
#319540
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 é.
Tópico encerrado , respostas não são mais permitidas