AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TIdTCPServer zur laufzeit erstellen

Ein Thema von SleepyMaster · begonnen am 27. Apr 2004 · letzter Beitrag vom 28. Apr 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#1

TIdTCPServer zur laufzeit erstellen

  Alt 27. Apr 2004, 15:48
Hi ihrs!

Weiß jemand wie ich das hinbekomme??? (Ohne ein Forumlar)

Delphi-Quellcode:
var
  IdTCPServer1: TIdTCPServer;

begin
IdTCPServer1:=TIdTCPServer.Create(nil);
with IdTCPServer1 do
  begin
  DefaultPort:=1234;
  Active:=true;
  end;
end.
soweit komm ich ja noch aber wenn ich dann auch will, dass was passiert, wenn der Server was empfängt:

Delphi-Quellcode:
var
  IdTCPServer1: TIdTCPServer;

procedure IdTCPServer1Execute(AThread: TIdPeerThread);
begin
//
end;

begin
IdTCPServer1:=TIdTCPServer.Create(nil);
with IdTCPServer1 do
  begin
  OnExecute:=IdTCPServer1Execute; // Will Borland nicht!
  DefaultPort:=1234;
  Active:=true;
  end;
end.
Spielt Borland nicht mehr mit!
Kennt jemand ne lösung???

Vielen Dank schon mal!
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#2

Re: TIdTCPServer zur laufzeit erstellen

  Alt 27. Apr 2004, 16:51
Du brauchst dafür was vom Typ:

TIdServerThreadEvent = procedure (AThread: TIdPeerThread) of object; also ne Methode von einem Objekt.
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#3

Re: TIdTCPServer zur laufzeit erstellen

  Alt 27. Apr 2004, 17:37
und wie bekomm ich das ohne ein Formular hin???
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: TIdTCPServer zur laufzeit erstellen

  Alt 27. Apr 2004, 17:55
das dürfte nicht gehen, da ein idtcpserver ein parent braucht!
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#5

Re: TIdTCPServer zur laufzeit erstellen

  Alt 27. Apr 2004, 18:16
ähm
geht doch viel einfacher ?!

mach mal n form und da druff einen idtcpserver und dann doppelklicke im onexecute ereignis und dann macht er ja eine funktion oder procedure

dann kopierste einfach dieses gerüst und oben natürlich in der deklaration auch den teil dafür

und den benutzt du dann in deinem formlosen projekt.

als parent ( owner ) nimmste einfach mal self oder nil.. probier mal rum
oder wenns ein windows service wird nimmste den namen des services geht glaub auch..

jedenfalls gehts !

hab grad keine zeit zum testen wie genau
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#6

Re: TIdTCPServer zur laufzeit erstellen

  Alt 27. Apr 2004, 21:06
Also seit ihr alle der Meinung, dass nicht druherumkomme ein Formular/Service zu benutzen???

Kann doch nicht sein! Irgendwie muss es doch auch ohne gehen!
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#7

Re: TIdTCPServer zur laufzeit erstellen

  Alt 27. Apr 2004, 21:19
Das hab ich nicht gesagt, und supermuckl meint glaubig das gleiche. Du brauchst nur eine Klasse, z.B. mit folgendem ungetestetem Code:

Delphi-Quellcode:
type
  TFoo = class(TObject)
    procedure Bar(Sender: TObject);
  end;

procedure TFoo.Bar(AThread: TIdPeerThread);
begin
  // Blah
end;

var
  IdTCPServer1: TIdTCPServer;
  Foo: TFoo;

begin
  IdTCPServer1 := TIdTCPServer.Create(nil);
  Foo := TFoo.Create();
  try
    with IdTCPServer1 do
    begin
      OnExecute:=Foo.Bar;
      DefaultPort:=1234;
      Active:=true;
    end;
  finally
    Foo.Free;
    IdTCPServer1.Free;
  end;
end.
[edit]
Man könnte natürlich auch einfach die Indy Klasse ableiten...
[/edit]
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: TIdTCPServer zur laufzeit erstellen

  Alt 27. Apr 2004, 23:24
Hi,

warum kompliziert, wenn's auch einfach geht :
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  IdBaseComponent, IdComponent, IdTCPServer, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
      procedure Button1Click(Sender: TObject);
  private
      { Private-Deklarationen }
      procedure myExecute(AThread: TIdPeerThread);
   public
      { Public-Deklarationen }
   end;

var
   Form1: TForm1;

implementation

var IdTCPSvr : TIdTCPServer;

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
   IdTCPSvr := TIdTCPServer.Create(nil);
   IdTCPSvr.DefaultPort := 1234;
   IdTCPSvr.OnExecute := myExecute;
   IdTCPSvr.Active := true;
end;

procedure TForm1.myExecute(AThread: TIdPeerThread);
begin
   // hier Den Execute-Code einfügen
end;

end.
Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: TIdTCPServer zur laufzeit erstellen

  Alt 27. Apr 2004, 23:27
@DataCool: Er wollte kein Formular - und nen object zu erstellen wo man das reinpackt ist ja nicht wirklich kompliziert
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: TIdTCPServer zur laufzeit erstellen

  Alt 28. Apr 2004, 10:08
@SirThornberry:

Ob mit oder ohne Formular, die Verwendung ist die gleiche !!
Der IdTcpServer wird hier zur Laufzeit erstellt und sitzt nicht auf der Form !

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:29 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