Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi idHTTPServer in Konsolenanwendung... On Ereignisse (https://www.delphipraxis.net/112410-idhttpserver-konsolenanwendung-ereignisse.html)

hedie 20. Apr 2008 21:00


idHTTPServer in Konsolenanwendung... On Ereignisse
 
Hallo

Ich möchte den IDHTTPServer in einer Konsolenanwendung verwenden.

Wie kann ich der Kompo nun dynamisch On... Ereignisse zuweisen?


Danke schonmal

MrKnogge 20. Apr 2008 21:14

Re: idHTTPServer in Konsolenanwendung... On Ereignisse
 
Schreibe einfach die entsprechende Methode und weise sie dann (wie einen Wert einer Variablen) zu.

dominikkv 20. Apr 2008 21:18

Re: idHTTPServer in Konsolenanwendung... On Ereignisse
 
Delphi-Quellcode:
  TMeineKlasse = class
    procedure MeinEreignis(Sender: TObject); // genaue Parameter nachschauen!
  end;


var // irgendwo halt...
  MeinIDServer: TIdHTTPServer;


procedure TMeineKlasse.MeinEreignis(Sender: TObject);
begin
  // bla
end;

procedure WeiseDemServerMeinEreignisZu;
begin
  MeinIDServer.OnMeinEreignis := MeinEreignis;
end;

hedie 20. Apr 2008 21:31

Re: idHTTPServer in Konsolenanwendung... On Ereignisse
 
Hmmm funktioniert leider nicht


mein code:

Delphi-Quellcode:
program thttpd;

{$APPTYPE CONSOLE}

uses
  SysUtils, IdHTTPServer, windows, IDContext;

var
  main_d:TidHTTPServer;

type
  Thd = class
    procedure main_d_response(AContext: TIDContext); // genaue Parameter nachschauen!
  end;




procedure Thd.main_d_response(AContext: TIDContext);
begin
  writeln('New Response!!!');
end;

procedure init_d();
begin
main_d := TIdHTTPServer.Create();
main_d.DefaultPort := 8070;
main_d.OnConnect := main_d_response;
main_d.Active := true;
end;



begin
  try
  init_d;
  readln;
  except
    on E:Exception do begin
      Writeln(E.Classname, ': ', E.Message);
      readln;
    end;
  end;
end.
Ich bekomm den Fehler

Code:
[DCC Fehler] thttpd.dpr(67): E2003 Undefinierter Bezeichner: 'main_d_response'

Fussball-Robby 20. Apr 2008 21:36

Re: idHTTPServer in Konsolenanwendung... On Ereignisse
 
Weil main_d_response eine prozedur der klasse Thd ist.
Delphi-Quellcode:
main_d.OnConnect := Thd.main_d_response;
Mfg

hedie 20. Apr 2008 21:40

Re: idHTTPServer in Konsolenanwendung... On Ereignisse
 
Dann kommt der Fehler:

Code:
[DCC Fehler] thttpd.dpr(49): E2010 Inkompatible Typen: 'TIdServerThreadEvent' und 'Procedure'

Fussball-Robby 20. Apr 2008 21:46

Re: idHTTPServer in Konsolenanwendung... On Ereignisse
 
Delphi-Quellcode:
@main_d.OnConnect := @Thd.main_d_response;
So?

hedie 20. Apr 2008 21:49

Re: idHTTPServer in Konsolenanwendung... On Ereignisse
 
Ja es hat geklappt Danke!!
Du Bist 15 und weisst so etwas??

Was genau mach den das @??

Fussball-Robby 20. Apr 2008 21:52

Re: idHTTPServer in Konsolenanwendung... On Ereignisse
 
Zitat:

Zitat von hedie
Du Bist 15 und weisst so etwas??

Ja, aber nur weil ich es vor einer Woche auch gebraucht hab :mrgreen:
Hier ist das erklärt.

Mfg

hedie 20. Apr 2008 21:53

Re: idHTTPServer in Konsolenanwendung... On Ereignisse
 
Achsoo ok Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr.
Seite 1 von 2  1 2      

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