taye78
Messages postés106Date d'inscriptionmardi 18 juin 2002StatutMembreDernière intervention13 janvier 2007
-
21 oct. 2004 à 02:49
taye78
Messages postés106Date d'inscriptionmardi 18 juin 2002StatutMembreDernière intervention13 janvier 2007
-
22 oct. 2004 à 14:40
Bonjour,
voici le code que j'ai écris pour créer 2 ClientSocket dynamiquement, ensuite je leur attribu quelques propriétés etc. Mais lorsque l'evenement OnConnect de ces 2 composants est enclenché (en meme temps d'ailleurs vu que la connexion est faite en meme temps) seulement le dernier a l'avoir apellé répond !
Donc les commandes SendText sont envoyés uniquement au dernier composant a l'avoir enclenché ! Ici CSockIRC[2]
Je ne sais pas si je m'exprime correctement mais
voici le code:
type
TForm1 = class(TForm)
SockIRC: TClientSocket;
BrkApart1: TBrkApart;
procedure FormCreate(Sender: TObject);
procedure SockIRCConnect(Sender: TObject; Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses StrUtils;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
CSockIRC: array[1..2] of TClientSocket;
i: integer;
begin
for i := 1 to 2 do
begin
CSockIRC[i] := TClientSocket.Create(Self);
With CSockIRC[i] do
begin
Name := 'bnc' + IntToStr(i);
Host := '80.247.212.252';
Port := 1666;
OnConnect := SockIRC.OnConnect;
Open;
end;
end;
end;
procedure TForm1.SockIRCConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
With TClientSocket(Sender).Socket do
begin
SendText('USER ' + TClientSocket(Sender).Name + ' x :salut ca va' + CrLf);
SendText('NICK Xtr' + RightStr(TClientSocket(Sender).Name, 2) + 'm' + CrLf);
SendText('PASS motdepasse' + CrLf);
end;
end;
cs_leveugle
Messages postés27Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention18 novembre 2004 22 oct. 2004 à 07:26
Re,
dis pourquoi ton tablau de TClientSocket est local à ta procedure FormaCreate... cela me parait bizarre.
Tu devrais surement déclarer ce tableau comme membre de ta fenêtre...