Einzelnen Beitrag anzeigen

Masteric

Registriert seit: 1. Aug 2007
Ort: Melsungen
155 Beiträge
 
Delphi 7 Professional
 
#1

TserverSocket zur laufzeit erzeugen mit event

  Alt 17. Dez 2009, 00:12
Hi,
ich habe ein kleines Problem, ich will in einem Programm Tserversockets mit unterschiedlichen Ports dynamisch erzeugen.
Ich habe das ganze mal in einer Testanwendung probiert nur leider funktioniert es nicht so ganz.....
Hier mal der Quelltext meiner Testanwendung:
Delphi-Quellcode:
type
  TNotifyEvent = procedure(sender : TObject) of object;

type
  TForm1 = class(TForm)
    ServerSocket1: TServerSocket;
    Button1: TButton;
    Button2: TButton;
    ClientSocket1: TClientSocket;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
    Servers : array of TServerSocket;

  public
    { Public-Deklarationen }
    procedure sockeEvent(sender : TObject; Socket: TCustomWinSocket);
  end;

var
 Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.sockeEvent(sender : TObject; Socket: TCustomWinSocket);
begin
showmessage(TServerSocket(sender).Name); <--- Einfacher test ob was ankommt!
end;

procedure TForm1.Button1Click(Sender: TObject); <--- Nur dazu da eine auf Kommando zu erzeugen.
begin
Servers[0].Create(self); <--- Hier kommt die Fehlermeldung!!
with Servers[0] do begin
 parent := self;
 name := 'SS0';
 ServerType:=stNonBlocking;
 ThreadCacheSize:=10;
 OnClientRead:=sockeEvent;
 Port:=12345;
 Active:=true;
 end;
end;
Hab mal im Quelltext die Fehlerstellen makiert. Der Fehler lautet: EAccess Violation in Projekt1.exe an der makierten Stelle.

Ich hoffe mal ihr seht mehr als ich, ich finde einfach meinen Fehler nicht.......

Gruß
Masteric
"Programmieren ist eine der universellsten, allübergreifendsten und höchsten von Menschen erreichten Formen der Kreativität."
Nur weil Gott die Welt in 6 Tagen erschaffen hat, heisst das nicht, dass Informatiker alles in 6 Tagen programmieren können.
  Mit Zitat antworten Zitat