Einzelnen Beitrag anzeigen

wadriller

Registriert seit: 25. Feb 2009
43 Beiträge
 
Delphi XE2 Professional
 
#1

Fehlermeldung bei idhttp.get

  Alt 25. Feb 2009, 15:04
Hallo zusammen.

Hier im Forum hab ich ja schon den Tipp gefunden wie man bei den Indys ein "OnError"-Event einbaut.
Das hab ich auch gemacht, hierfür erstmal vielen Dank.

Leider hab ich noch ein weiteres Problem.
Der Code läuft in einem eigenen Thread der vom Hauptprogramm gestartet wird.

Delphi-Quellcode:
private
  procedure OnIndyError(fErrorType: TErrorType;fErrorMsg: String);

...
...
...

constructor xxx.Create(Image: TPMultiImage; ToDo: Integer);
begin
 .....
  // Exceptionbehandlung für die Indy Komponenten
  // Code aus Delphi Praxis
  vIndyException:=TIndyException.Create;
  vIndyException.OnError:=OnIndyError;
  inherited Create(true);
end;

....
....
....

procedure xxx.HTTPAbfrage;
var
  Parameter, Header, HTTPContent: String;
begin
.....
  try
    HTTPContent := HTTP.Get(AbfrageURL + '?' + Parameter); // Starte HTTP Abfrage
    HTTPAuswerten(HTTPContent);
  except
    HTTPContent := '';
    AnfrageStatus := mlsSendenFehler;
    if PruefeInternetVerbindung then begin
      OnlineStatus := mlsOnline;
    end else begin
      OnlineStatus := mlsOffline;
    end;
    http.Disconnect;
  end;
end;

....
....
....


procedure xxxx.OnIndyError(fErrorType: TErrorType; fErrorMsg: String);
begin
  LastIndyError := fErrorMsg;
end;
Das Abfragen funktioniert wunderbar.

Wenn ich jetzt aber z.B. bei der HTTP-Komponenten (TIdHTTP) einen Proxyserver eintrage den es nicht gibt, oder wenn ich den Code über einen Knopf schnell hintereinander zweimal aufrufe (was gehen soll), versucht er das GET und bringt danach die Meldung

Win32Error. Fehler Code:5
Zugriff verweigert.

Danach geht die komplette Anwendung zu. Was könnte das sein ?

Liegt es evtl. daran das ich versuche, falls eine Connection da ist, da erst ein disconnect zu machen ?
Hab leider keine Variante gefunden wie ich sonst ein laufendes "GET" abbrechen kann.
Gruß
Michael
  Mit Zitat antworten Zitat