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.