Dat heb ik reeds geprobeerd, namelijk op de volgende (niet zo nette

) manier:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
| Public Function GetHTMLFile(strURL As String) As String
Dim lngTimeStart As Long
Dim lngTimeNow As Long
On Error Resume Next
lngDocSize = 0
barStatus.SimpleText = "Bezig contact te zoeken met server..."
intTransfer.Protocol = icHTTP
blnBusy = True
intTransfer.Execute Trim(strURL), "GET"
lngTimeStart = Timer
Do
DoEvents
lngTimeNow = Timer
Loop Until Not blnBusy Or lngTimeNow - lngTimeStart > TIME_OUT
barStatus.SimpleText = ""
If lngTimeNow - lngTimeStart > TIME_OUT Then
intTransfer.Cancel
GetHTMLFile = ""
Else
GetHTMLFile = intTransfer.Document
End If
End Function
Private Sub intTransfer_StateChanged(ByVal State As Integer)
Dim strText As String
Dim strBuffer As String
On Error Resume Next
Select Case State
Case icResponseCompleted:
Do
DoEvents
strBuffer = intTransfer.GetChunk(512)
strText = strText & strBuffer
If lngDocSize > 0 Then
barStatus.SimpleText = "Pagina wordt gedownload..."
End If
Loop Until Len(strBuffer) = 0
blnBusy = False
Case icResponseReceived:
barStatus.SimpleText = "Antwoord van server ontvangen..."
If lngDocSize = 0 Then
If Len(intTransfer.GetHeader("Content-Length")) > 0 Then
lngDocSize = CLng(intTransfer.GetHeader("Content-Length"))
End If
End If
End Select
End Sub |
Maar dan blijft het programma nog steeds hangen op de regel 'strBuffer = intTransfer.GetChunk(512)'. Het vreemde is ook dat de GUI van het programma gewoon doordraait, maar dat ik de boel wel bruut via de Task Manager moet beëindigen.