Moin!
Ich bin dabei, ein Programm für einen Pocket PC zu schreiben, welches innerhalb einer Prozedur eine Datei aus dem Internet lesen soll. Nur leider klappt das nicht so ganz, wie ich mir das vorstelle. Ich bin nun so weit, dass es bei WIn32-Applikationen klappt, aber bei der Pocket-PC-Emulation klappt die Funktion InternetOpenURL nicht. Der Code sieht so aus:
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" ( _
ByVal sAgent As String, ByVal lAccessType As Integer, ByVal sProxyName As _
String, ByVal sProxyBypass As String, ByVal lFlags As Integer) As Integer
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As _
Integer) As Short
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As _
Integer, ByVal sBuffer As String, ByVal lNumBytesToRead As Integer, ByRef _
lNumberOfBytesRead As Integer) As Short
Private Declare Function InternetOpenUrl Lib "wininet" Alias _
"InternetOpenUrlA" (ByVal hInternetSession As Integer, ByVal lpszUrl As _
String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Integer, _
ByVal dwFlags As Integer, ByVal dwContext As Integer) As Integer
Const INTERNET_OPEN_TYPE_DIRECT As Short = 1
Const INTERNET_OPEN_TYPE_PROXY As Short = 3
Const INTERNET_FLAG_RELOAD As Integer = &H80000000
Const UserAgent As String = "Wininet Test"
Private Sub ReadInetFile()
Dim hFile, l, hOpen, Result As Integer
Dim Buffer As String
l = 50000
Buffer = Space(l)
Text2.Text = ""
hOpen = InternetOpen(UserAgent, INTERNET_OPEN_TYPE_DIRECT, _
vbNullString, vbNullString, 0)
hFile = InternetOpenUrl(hOpen, "http://www.google.de", vbNullString, 0, _
INTERNET_FLAG_RELOAD, 0)
Call InternetReadFile(hFile, Buffer, l, Result)
Call InternetCloseHandle(hFile)
Call InternetCloseHandle(hOpen)
Buffer = Microsoft.VisualBasic.Left(Buffer, Result)
Text1.Text = Buffer
End Sub Nach der Zeile "hfile = ..." bekommt bei der Win32-Appl. hfile den Wert 13369356 vom Typ Integer , bei der Pocket-PC-Appl. bleibt er bei 0. hOpen ist bei beiden gleich (13369348), was mir doch eigentlich sagt, dass die Internetverbindung bei der Pocket-PC-Emulation funktionier hat?
Also gehe ich davon aus, dass das problem bei InternetOpenUrl liegt. Hat jemand dazu einen heißen Tipp?
Danke für jeden Hinweis
Gruß,
Knut |