![]() |
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:
Der Button soll mir den Server erstellen und den Port auf 80 setzen:
TForm1 = class(TForm)
Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public Server: TIdHTTPServer; procedure HTTPServerCommandGet (AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); end;
Delphi-Quellcode:
Und Letztendlich die HTTPServerCommandGet Prozedur:
procedure TForm1.Button1Click(Sender: TObject);
begin Server := TIdHTTPServer.Create(); server.DefaultPort := 80; server.Active := true; end;
Delphi-Quellcode:
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.
procedure TForm1.ServerCommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); begin aResponseInfo.ResponseNo := 200; aResponseInfo.ContentType := 'text/html'; aResponseInfo.ContentText := 'test'; end; 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? |
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; |
AW: IdHTTPServer ohne Form
Schnell, einfach, klappt.
Vielen Dank. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz