![]() |
InternetOpenUrl - Problem --> Rückgabewert nil!!
Guten Morgen!!
Ich möchte auf einem Webserver die Anmeldedaten eines Users samt Passwort checken. Mittels HTTP-Get schicke ich die Daten zum Server und warte auf den Response den ich dann später mit InternetReadFile auslesen möchte... Hierfür verwende ich die WinInet.pas nach folgendem Muster:
Delphi-Quellcode:
danach (wenn das Ergebnis = true ist, und das funktioniert auch reibungslos) gehe ich mit der URL in die nächste Methode:
if (InternetAutodial(INTERNET_AUTODIAL_FORCE_ONLINE, 0)) then begin
fIHandle := InternetOpen(PChar(lAgent), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, INTERNET_FLAG_ASYNC); (* Settings setzen für Timeout, da man eine Zeit braucht, um auf den Response zu warten *) if Assigned (fIHandle) then begin result := InternetSetOption(fIHandle, INTERNET_OPTION_CONNECT_TIMEOUT, @lTimeout, 4); result := result AND InternetSetOption(fIHandle, INTERNET_OPTION_RECEIVE_TIMEOUT, @lTimeout, 4); result := result AND InternetSetOption(fIHandle, INTERNET_OPTION_SEND_TIMEOUT, @lTimeout, 4); if not (result) then begin lErrorMsg := SMSINETCONNECTERROR + CRLF + 'Status: ' + IntToStr(GetLastError); MessageDlg(SMSINETCONNECTERROR, mtError, [mbOK], 0); end; end; end;
Delphi-Quellcode:
Doch wenn ich beim Debuggen lIHandle checke ist der Wert nach dem InternetOpenUrl immer nil!! Dies ist auch so, wenn ich eine 1000-fach aufgerufene URL angebe wie 'http://www.orf.at'... :wall:
(* Prüfung der Anmeldedaten am Server *)
function TfmFahrschuleD.GetHTTPResponse(aURL: String): Boolean; var lIHandle : HINTERNET; begin result := false; lIHandle := InternetOpenUrl(fIHandle, PChar(aURL), nil, 0, INTERNET_FLAG_RELOAD, 0); MessageDlg(IntToStr(GetLastError), mtError, [mbOK], 0); if Assigned(lIHandle) then begin end; end; Wenn ich mir andere Beispielcodes ansehe rufen die Leute doch auch mit denselben Parametern (bis auf die URL) die InternetOpenUrl auf und bekommen scheinbar einen Rückgabewert der nicht nil ist??!! :gruebel: Ach ja GetLasterror liefert die Zahl 997, was mir bisher auch noch nicht recht weitergeholfen hat??!! 997 bedeutet ERROR_IO_PENDING...wie denn das?? Auf der Microsoft-Seite steht ein Kommentar (aus dem Jahre 1999!!), daß dieser Fehler mit IE 4.01 behoben sein wird. Nur ich verwende IE 7.0 und meine WinInet.dll ist aus diesem Jahr!! Was mach ich falsch?? |
Re: InternetOpenUrl - Problem --> Rückgabewert nil!!
Hab den Fehler gefunden...ich hab beim InternetOpen den letzten Flag auf INTERNET_FLAG_ASYNC gesetzt...da gehört 0 rein...maahhhhh!!! :wall:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz