Delphi-Quellcode:
var server:array[1..2] of TServerSocket
.
.
.
procedure TServerRead(Sender: TObject; Socket: TCustomWinSocket);
var i,c:integer;
msg:String;
begin
for i:= 1 to 2 do
begin
if Sender is server[i] then //<---- der mag das is nicht
begin
msg:=Server[i].Socket.ReceiveText;
for c:= 0 to server[i].Socket.ActiveConnections-1 do
Server[i].Socket.Connections[c].SendText(msg);
Form1.Memo1.Lines.Add(msg + inttostr(i) + inttostr(c));
end;
end;
end;
ich habe 2 Probleme
1. an der markierten Stelle schreibt der Compiler:"[Fehler] Unit1.pas(42): Operator ist auf diesen Operandentyp nicht anwendbar" . Weiss vielleicht jemand , wie ich das anders lösen kann.
2. Diese Procedure soll es mir ermöglichen mehrere (Hier 2) Server zu verwalten, die genau das gleiche tun sollen , wenn sie aufgrufen werden. Mein Problem ist, das ich keine Ahnung hab wie ich diese Procedure aufrufen soll. Ich hab dabei an ne Repeat until Schleife gedacht. Der verlangt jedoch immer irgendwelche Parameter die ich ihm nicht geben kann. Kann es vielleicht das ich die Procedure jedem Server diese zuweisen muss, sprich Server[i].onclientread := Tserverread;??
Wenn mir einer sagen kann was ich tun muss , dass diese Procedure für beide bzw mehrere. Server funktioniert, wäre ich sehr dankbar.
mfg SIn