AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdTCPServer.OnExecute := ???;
Thema durchsuchen
Ansicht
Themen-Optionen

TIdTCPServer.OnExecute := ???;

Ein Thema von Snoke · begonnen am 18. Sep 2006 · letzter Beitrag vom 19. Sep 2006
Antwort Antwort
Snoke

Registriert seit: 10. Aug 2006
16 Beiträge
 
Delphi 2006 Professional
 
#1

TIdTCPServer.OnExecute := ???;

  Alt 18. Sep 2006, 23:16
hi

erstmal der code:

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils, IdTCPServer;

type
  TTCPServer = class
  private
    IdTCPServer: TIdTCPServer;
    procedure IdTCPServerOnExecute;
  public
    constructor Create; reintroduce;
  end;

var
  mread: String;

constructor TTCPServer.Create;
begin
  IdTCPServer := TIdTCPServer.Create(nil);
  IdTCPServer.DefaultPort := 3724;
  IdTCPServer.MaxConnections := 100;
  IdTCPServer.OnExecute := IdTCPServerOnExecute;
  IdTCPServer.Active := True;
end;

begin
  with TTCPServer.Create do
  try
    writeln( 'running, press [enter] to terminate' ) ;
    readln(mread);
  finally
    free;
  end;
end.
fehler:
[Pascal Error] Project1.dpr(25): E2009 Incompatible types: 'Parameter lists differ'
[Pascal Error] Project1.dpr(12): E2065 Unsatisfied forward or external declaration: 'TTCPServer.IdTCPServerOnExecute'

problem: ich verstehe dieses OnExecute nicht, laut hilfe ist das ne properity so wie ich gelesen habe, allerdings finde ich im inet beispiele wo das ein event ist (was ich auch denke). wie gehe ich mit OnExecute und den restlichen Events um?
  Mit Zitat antworten Zitat
Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#2

Re: TIdTCPServer.OnExecute := ???;

  Alt 18. Sep 2006, 23:24
wo ist denn deine Procedure TTCPServer.IdTCPServerOnExecute ???
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: TIdTCPServer.OnExecute := ???;

  Alt 19. Sep 2006, 07:38
Was steht in Zeile 25?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

Re: TIdTCPServer.OnExecute := ???;

  Alt 19. Sep 2006, 08:46
Hey, also ich würde das ganze vielleicht mal so anfangen - gehe jetzt einfach mal davon aus, dass du auch Indy 10 verwendest

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE} 

uses
  SysUtils, IdTCPServer, IdSocketHandle, IdContext; // Zwei weitere Units nötig!

type
  TTCPServer = class
  private
    IdTCPServer: TIdTCPServer;
    procedure IdTCPServerOnExecute(AContext: TIdContext);
  public
    constructor Create; reintroduce;
  end;

var
  mread: String;

procedure TTCPServer.IdTCPServerOnExecute(AContext: TIdContext);
begin
  
  // HIER KOMMT DEIN CODE BEI EINER ABFRAGE VOM CLIENT


  // Diese Zeile bitte belassen - gegen 100% CPU-Auslastung
  SleepEx(1, True);
end

constructor TTCPServer.Create;
var
  NewBinding : TIdSocketHandle
begin
  IdTCPServer := TIdTCPServer.Create(nil);
  IdTCPServer.DefaultPort := 3724;
  IdTCPServer.MaxConnections := 100;
  IdTCPServer.OnExecute := IdTCPServerOnExecute;
  NewBinding := IdTCPServer.Bindnig.Add;
  NewBinding.IP := '127.0.0.1'; // solltest noch ändern
  NewBinding.Port := 3724; // sollte passen
  IdTCPServer.Active := True;
end;

begin
  with TTCPServer.Create do
  try
    writeln( 'running, press [enter] to terminate' ) ; readln(mread);
  finally
    free;
  end;
end.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Snoke

Registriert seit: 10. Aug 2006
16 Beiträge
 
Delphi 2006 Professional
 
#5

Re: TIdTCPServer.OnExecute := ???;

  Alt 19. Sep 2006, 18:10
vielen dank s.h.a.r.k funzt gut

nur eine kleinigkeit: OnExecute wird dauernd ausgeführt, zwar wird durch des SleepEx die cpu last verringert, aber bei vielen usern wird das doch sehr performance lastig? wieso wirds dauernd ausgeführt? ich dachte OnExecute reagiert nur wenn ein paket reinkommt?
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:16 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