Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   IdHTTPServer ohne Form (https://www.delphipraxis.net/173529-idhttpserver-ohne-form.html)

Getox 1. Mär 2013 10:05

IdHTTPServer ohne Form
 
Guten Morgen,

Ich habe hier grade leichte Schwierigkeiten mit dem IdHTTPServer aus Indy 10.

Ich hatte diese Komponente schon öfters erfolgreich genutzt, wenn ich sie auf mein Form gezogen habe. Jetzt möchte ich jedoch einen Webserver, der in einer Formlosen Unit verbaut ist.

Zum testen habe ich trotzdem erstmal eine Formularanwendung gemacht, weil ich da mit einem Button das Starten den Servers simulieren kann. Die HTTPServer Komponente sollte dennoch nicht auf das Formular. Dieses Projekt dient nur dazu, dass verstehe wie ich den Server so ans laufen bekomme.

Ich habe in meiner Klasse eine Servervariable angelegt und die Prozedur HTTPServerCommandGet habe ich so da aus einem anderen Projekt rauskopiert und mit Strg+Shift+c erstellt:

Delphi-Quellcode:
TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    Server: TIdHTTPServer;
    procedure HTTPServerCommandGet (AContext: TIdContext;
      ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
  end;
Der Button soll mir den Server erstellen und den Port auf 80 setzen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Server := TIdHTTPServer.Create();
  server.DefaultPort := 80;
  server.Active := true;
end;
Und Letztendlich die HTTPServerCommandGet Prozedur:

Delphi-Quellcode:
procedure TForm1.ServerCommandGet(AContext: TIdContext;
 ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  aResponseInfo.ResponseNo := 200;
  aResponseInfo.ContentType := 'text/html';
  aResponseInfo.ContentText := 'test';
end;
Normalerweise müsste dann doch wenn ich die 127.0.0.1 im Browser aufrufe das Wort "Test" angezeigt bekommen, aber ich bekomme nur komplett weißen Inhalt im Browser zurück.
Ich vermute, dass ich beim anlegen des Servers(Server := TIdHTTPServer.Create(); ) einen Fehler gemacht habe, weil ich da als Parameter einen "aOwner" mitgeben hätte können...

Kann mir jemand meinen Fehler nennen?

Bummi 1. Mär 2013 10:38

AW: IdHTTPServer ohne Form
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Server := TIdHTTPServer.Create();
  server.DefaultPort := 80;
  server.OnCommandGet := ServerCommandGet; // <<<
  server.Active := true;
end;

Getox 1. Mär 2013 10:42

AW: IdHTTPServer ohne Form
 
Schnell, einfach, klappt.

Vielen Dank.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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