Ik heb in VB6 een programmaatje gemaakt dat met behulp van Winsock inlogt op mailserver met username en password en alle emailberichten op de server ophaalt.
Allereerst haal ik met commando "STAT" het aantal emailberichten op. Daarna haal ik door middel van een loop alle emailberichten op en laat het onderwerp zien.
De onderstaande code is globaal, heb de exacte code niet bij de hand:
Door middel van de sub winsock1_dataArrival worden alle emailberichten opgehaald. Echter de daaropvolgende Winsock1.GetData vult de string strServerantwoord niet altijd in.
De functie op zich werkt wel goed. Het probleem treedt onregelmatig op. Soms gebeurt dit bijvoorbeeld bij bericht 2, 3 en 6, een andere keer bij bericht 5 en 7.
Ik vermoed dat de dataArrival-procedure niet genoeg tijd krijgt om alle gegevens binnen te halen. Heeft iemand een vermoeden wat er verkeerd gaat?
Allereerst haal ik met commando "STAT" het aantal emailberichten op. Daarna haal ik door middel van een loop alle emailberichten op en laat het onderwerp zien.
De onderstaande code is globaal, heb de exacte code niet bij de hand:
Visual Basic 6:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| dim intHuidigemailbericht as integer dim intTotaalaantalberichten as integer private sub page_load() intTotaalaantalberichten = 20 intHuidigemailbericht = 1 end sub private sub winsock1_dataArrival (ByVal BytesTotal as Long) string strServerantwoord as string Winsock1.Getdata strServerantwoord, vbString, BytesTotal if (intHuidigemailbericht <= intTotaalaantalberichten) Winsock1.Senddata "RETR " & intHuidigemailbericht & vbCrLf intHuidigemailbericht = intHuidigemailbericht + 1 end if end sub |
Door middel van de sub winsock1_dataArrival worden alle emailberichten opgehaald. Echter de daaropvolgende Winsock1.GetData vult de string strServerantwoord niet altijd in.
De functie op zich werkt wel goed. Het probleem treedt onregelmatig op. Soms gebeurt dit bijvoorbeeld bij bericht 2, 3 en 6, een andere keer bij bericht 5 en 7.
Ik vermoed dat de dataArrival-procedure niet genoeg tijd krijgt om alle gegevens binnen te halen. Heeft iemand een vermoeden wat er verkeerd gaat?