Jag har gjort en ActiveX OCX som använder sig av Winsock. När jag försöker stänga ett program som har använt sig av OCXen (och den i sin tur har använt sig av Winsock) så hänger sig VB i 99% av fallen. Det här har hänt i enstaka fall när jag har använt Winsock i andra program också. Hej, ditt problem drabbar mig med men min lösning gick ut på att verkligen se till att winsock avslutat sin anslutning och är stängd, då funkar det. Jag har lagt in så att jag kan se vilken state den är i hela tiden, och VB har hängt sig även när den är 0. Snabbt du svara:) Du var inte så seg själv =) Verkar inte som att det löste problemet =( Trist, så här avslutar jag min anslutning: Hej på er, nu tar jag upp en gaaammal tråd:) Jag har aldrig fått någon ordning på det här problemet utan helt enkelt fått lära mig att alltid anta att programmet kommer att hänga sig när man kör det, så det gäller att spara ofta. hej, ok tack, då felsöker jag inte mer, det släpper om jag kör END tidigt i koden en gång, verkar det som.VB hänger sig vid användning av winsock
Jag sökte på Google och fick fram några liknande problem, dock utan lösningar:
http://www.visualbasicforum.com/t136499.html
http://www.xtremevbtalk.com/showthread.php?t=104011
Jag använder VB6 SP6.
Nån som har nått förslag på lösning?
ThomasSv: VB hänger sig vid användning av winsock
Kolla om så är fallet för dig.
/BSv:VB hänger sig vid användning av winsock
Dock hänger den sig mycket mera sällan nu, vet inte riktigt varför... men problemfritt är det inte.
Hur som helst, om det nu är det problemet, hur ska jag stänga anslutningen? Jag kan väl inte göra mer än Close? Eller är det att jag måste göra en liten fördröjning efter det, innan jag stänger programmet?
ThomasSv: VB hänger sig vid användning av winsock
Jag kör en loop på "close" så den loopar tills den verkligen ÄR close. kanske är det då?
/BSv:VB hänger sig vid användning av winsock
Ok ska testa det. Eftersom den inte alltid hänger sig så är det ju tyvärr svårt att veta när man verkligen har löst problemet. Men det bör visa sig efter ett par dagar.
ThomasSv:VB hänger sig vid användning av winsock
Varje gång jag ska stänga anslutningen använder jag:
<code>
Winsock.Close
Do Until Winsock.State = 0
DoEvents
Loop
</code>
Som säkerhet så kör jag den koden även i UserControl_Terminate men lik förbannat så hänger sig VB...
ThomasSv: VB hänger sig vid användning av winsock
<code>
If Not winsock1.State = sckClosed Then
winsock1.Close
Do Until winsock1.State = sckClosed
DoEvents
Loop
End If
</code>
/BSv:VB hänger sig vid användning av winsock
Jag trodde denna var löst för min del men så är inte fallet, har just nu enorma problem att köra mitt progg i designläge.
Varje gång jag startar och testar en sak och sen stänger av programmet så hänger sig VB och går bara att avsluta via aktivitetshanteraren, med en dump som följd...
Tomas, fick du ordning på detta?
Nån annan som upplever samma trassel?
EDIT: Ganska skumt men jag startade om datorn i ren trots, då funkar det som det ska igen.
Vad kan det vara som orsakar detta?
/BSv: VB hänger sig vid användning av winsock
Det här är nog en av dom största anledningarna till att jag började gå över till VB.NET istället. Förhoppningsvis finns inte problemet kvar där.
ThomasSv:VB hänger sig vid användning av winsock
ska oxå gå över till VB.NET .
/B