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?