cs_DONALD3D
Messages postés8Date d'inscriptiondimanche 14 novembre 2010StatutMembreDernière intervention14 février 2011
-
26 nov. 2010 à 12:55
cs_DONALD3D
Messages postés8Date d'inscriptiondimanche 14 novembre 2010StatutMembreDernière intervention14 février 2011
-
3 déc. 2010 à 16:57
Bonjour,
j'envoie un texte à un serveur qui se charge d'affectuer une action dès réception.
Je souhaiterai bloquer l'action de bouton "envoi" tant que le serveur est occupé à terminer sa tâche ou plus simplement peut-être après un timing qui interdirait une nouvelle action du bouton pendant 3 secondes (2s c'est le temps de traitement du serveur).
Où et comment dois-je insérer cet action de blocage ?
J'ai cherché un bon moment c'est pour ça que je suis là
Si quelqu'un à une bonne idée ou a déjà fait ce genre de chose je suis preneur.
procedure TForm1.SendBtnClick(Sender: TObject);
begin
ClientSocket.Socket.SendText(edit5.text + chr(13)+ chr(10));
end;
cs_ahmed12
Messages postés83Date d'inscriptionlundi 5 mai 2003StatutMembreDernière intervention 9 décembre 2010 27 nov. 2010 à 11:38
Bonjour,
tu peux Utiliser aussi la fonction sleep(millesecond); dans la procedure d'envoi pour syncronser le thread ou bien travailer ou mode asynchrone client serveur changer la propréte de composant ;
Affectez la valeur stNonBlocking à ServerType pour traiter de manière asynchrone toutes les lectures et écritures via la connexion de socket acceptées par le socket d'écoute.Quand ServerType a la valeur stNonBlocking,toutes les connexions client sont gérées par défaut dans un seul thread d'exécution.Les événements OnClientRead ou OnClientWrite se produisent quand le socket serveur a besoin d'effectuer des entrées/sorties via l'une des connexions./b Ahmed-ouba-alger
cs_DONALD3D
Messages postés8Date d'inscriptiondimanche 14 novembre 2010StatutMembreDernière intervention14 février 2011 3 déc. 2010 à 16:57
Merci.
J'ai finalement opté pour bloquer le bouton au moment de l'envoi par un Btn.Enable := False; et qui est réactivé lorsque le serveur dit qu'il est prêt de nouveau à recevoir des ordres du client.