Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
6.421 Beiträge
 
Delphi 2010 Professional
 
#5

AW: FritzBox - Telefoniegeräte - bitte testen.

  Alt 23. Jun 2012, 23:21
Ist das eigentlich gewollt, dass die Instanz von THttpRequest niemals freigegeben wird?
Wäre da nicht ein try finally angebracht?
Delphi-Quellcode:
function TFritzbox.GetLogOut: Boolean;
{*******************************************************************************
*  -8- Aus der Fritzbox ausloggen.
}

var
  HTTPReq : THTTPRequest;
begin
  {
  *  Wenn noch nicht eingeloggt ...
  }

  if GetIsLoggedIn then
  begin
    {
    *  Abfrage mit Senden des Passwortes.
    }

    HTTPReq := THTTPRequest.Create;
    try
      HTTPReq.Method := 'POST';
      HTTPReq.Accept := 'text/html';
      HTTPReq.ContentType := 'application/x-www-form-urlencoded';
      HTTPReq.URL := FRITZBOXurl(FRITZBOX_PATH_WEBCM);
      HTTPReq.SendStream := Format(FRITZBOX_MENU_LOGOUT, [FSession.SID]);
      {
      *  Ausführen.
      }

      HTTPReq.Execute;
      {
      *  Eine Überprüfung der Antwort ist nicht notwendig, da keine neue SessionID
      *  übernommen werden muss. Siehe nächsten Kommentar.
      }

    finally
      HTTPReq.Free;
    end;
  end;
  {
  *  Es wird geprüft, ob die SessionID noch gültig und der Zugriff auf die
  *  Fritzbox möglich ist.
  }

  Result := GetIsLoggedIn;
end;
Kaum macht man's richtig - schon funktioniert's
Nachdenkliche Menschen denken oft warum sie nicht schon vorher daran gedacht haben.
  Mit Zitat antworten Zitat