AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

IdHTTPServer ohne Form

Ein Thema von Getox · begonnen am 1. Mär 2013 · letzter Beitrag vom 1. Mär 2013
Antwort Antwort
Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#1

IdHTTPServer ohne Form

  Alt 1. Mär 2013, 10:05
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?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: IdHTTPServer ohne Form

  Alt 1. Mär 2013, 10:38
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Server := TIdHTTPServer.Create();
  server.DefaultPort := 80;
  server.OnCommandGet := ServerCommandGet; // <<<
  server.Active := true;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#3

AW: IdHTTPServer ohne Form

  Alt 1. Mär 2013, 10:42
Schnell, einfach, klappt.

Vielen Dank.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 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