Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1161 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Utiliser TClientSocket sans placer l'icone ClientSocket sur une Form

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utiliser TClientSocket sans placer l'icone ClientSocket sur une Form

n°1058879
zitan
Posté le 24-04-2005 à 19:05:35  profilanswer
 

Voilà je voudrais pouvoir me servir de TClientSocket sans placer l'icone ClientSocket(ScktComp) sur une form. En gros je veux que ça marche en appli console J'espère que vous pourrez m'aidez !  
Merci d'avance.

mood
Publicité
Posté le 24-04-2005 à 19:05:35  profilanswer
 

n°1059200
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-04-2005 à 23:41:57  profilanswer
 

Tout au début (démarrage du soft) tu le crées :
 
Socket := TClientSocket.Create(nil);
 
là t'emploies Socket comme tu veux
 
et tout à la fin quand t'en auras plus besoin (fermeture du soft) tu le vires :
 
FreeAndNil(Socket);
 
Entre les deux tu peux définir ses propriétés, et assigner des méthodes à ses événements.


Message édité par antp le 24-04-2005 à 23:42:46

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1060415
zitan
Posté le 25-04-2005 à 20:58:51  profilanswer
 

Merci pour ton aide ! Ca marche , mais maintenant y a un autre problème, j'arrive à lancer une connection, mon serveur reconnait la connection, mais impossible d'envoyer un buffer ! Pourtant ça marche avec mon application quand elle possède une Form, et la ça marche pas quand je veux faire la meme chose mais en application console. Est ce que par harsard y a pas d'autre champ de Tclientsocket à initialiser.

n°1060419
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-04-2005 à 21:00:10  profilanswer
 

Ça dépend, regarde quelles propriétés ou événements tu avais modifiés quand il était sur la Form.
Quand tu dis "ça marche pas", ça plante ou il ne se passe rien ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1060607
zitan
Posté le 25-04-2005 à 22:22:59  profilanswer
 

Ben ça marche parce que le serveur, detecte la connexion , mais ensuite il reçoit pas la string que j'envois, alors que quand c une form si , c étrange ...
Je sais pas si tu va pouvoir m'aider je voudrais pouvoir transcrire cette fonction qui est sur un form , en une procedure pour une appli console , mais je vois pas tro comment ...
En gros faudré que je puisse écouter avec un serveur en mode console ...
 
 
 
 

Code :
  1. procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
  2. var
  3. i : integer;
  4. taille : integer; // taille du buffer reçus
  5. begin
  6. Memo1.Lines.Add('Lecture des informations effectuées');
  7. taille := Socket.ReceiveLength;
  8. if taille <= taillebuffer then
  9. begin
  10. Socket.ReceiveBuf(Buffer,taille);
  11. buffer.ip := socket.RemoteHost;
  12. Memo1.Lines.Add('L adresse : ' + Buffer.ip + ' envoie posx : ' + Floattostr(Buffer.posx) + ' posy : ' + Floattostr(Buffer.posy ) );
  13. For I:=0 To ServerSocket1.Socket.ActiveConnections -1 Do
  14. ServerSocket1.Socket.Connections[I].SendBuf(Buffer,taille);
  15. end;


 
J'espère que tu pourra me sauver ! :p


Message édité par zitan le 25-04-2005 à 22:39:57
n°1060741
tilleuls
Posté le 26-04-2005 à 00:03:12  profilanswer
 

à)


---------------
Un tiens vaut mieux que deux tu l'auras...
n°1060755
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-04-2005 à 00:16:29  profilanswer
 

Tu dois raccorder le OnClientRead du socket à une métode (procédure d'un objet).
Donc il faut voir si t'as déjà un objet quelque part dans ton programme actuel auquel tu pourrais rajouter une méthode ClientRead.
Sinon tu dois créer une classe que tu appelles par exemple TSocketManager et dont tu crées une instance (comme tu le fais pour le socket lui-même).
À cette classe tu ajoutes une méthode ClientRead qui reçoit les bons params, et tu la raccordes au OnClientRead du socket.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1061083
zitan
Posté le 26-04-2005 à 12:34:18  profilanswer
 

merci beaucoup


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Utiliser TClientSocket sans placer l'icone ClientSocket sur une Form

 

Sujets relatifs
[C] impossible d'utiliser les thread sous linux problème de linker[C#]Probleme de données entre Form
[SERVLET][EJB][Noob]Utiliser mon SERVLET avec mon EJBcomment utiliser les BBcodes
utiliser un INCLUDE avec des variables et un menu Flash ?Moteur de recherche sans utiliser de base de données...
[c#] [form] listbox double click itemPetit icone dans les favoris (fichier .ICO)
Impossible d'utiliser include() dans un script de génération d'image.Utiliser "Anatomic" a partir d'un VBS
Plus de sujets relatifs à : Utiliser TClientSocket sans placer l'icone ClientSocket sur une Form


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR