AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi InternetOpenUrl - Problem --> Rückgabewert nil!!
Thema durchsuchen
Ansicht
Themen-Optionen

InternetOpenUrl - Problem --> Rückgabewert nil!!

Ein Thema von bingo72 · begonnen am 3. Okt 2007 · letzter Beitrag vom 3. Okt 2007
Antwort Antwort
bingo72

Registriert seit: 18. Aug 2006
Ort: Österreich
180 Beiträge
 
Delphi 5 Professional
 
#1

InternetOpenUrl - Problem --> Rückgabewert nil!!

  Alt 3. Okt 2007, 06:46
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:
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;
danach (wenn das Ergebnis = true ist, und das funktioniert auch reibungslos) gehe ich mit der URL in die nächste Methode:

Delphi-Quellcode:
(* 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;
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'...
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??!!

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??
  Mit Zitat antworten Zitat
bingo72

Registriert seit: 18. Aug 2006
Ort: Österreich
180 Beiträge
 
Delphi 5 Professional
 
#2

Re: InternetOpenUrl - Problem --> Rückgabewert nil!!

  Alt 3. Okt 2007, 07:37
Hab den Fehler gefunden...ich hab beim InternetOpen den letzten Flag auf INTERNET_FLAG_ASYNC gesetzt...da gehört 0 rein...maahhhhh!!!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz