Bonjour,
j'ai écrit un petit logiciel mettant à l'heure le PC à partir d'Internet.
Cela a fonctionné sans problème pendant des mois.
Maintenant, de temps en temps, il y a un blocage. J'ai identifié la ligne où se
produit le blocage, mais je n'ai pas trouvé la solution :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 bool  TForm1::reception(AnsiString *recept)
try
  {
    ClientSocket->Host=asAdresseIP;
    ClientSocket->Port=13;
    ClientSocket->Address=asAdresseIP;
    ClientSocket->Open();
    ClientSocket->Active=true;
    connected=true;
  }
  catch(...)
  {

  }
  
  if(!connected) return false;
  
  bool ok=false;
  int i=0;
  try
  {
	  while(!ok && i<1000)
	  {
		*recept +=ClientSocket->Socket->ReceiveText();  // C'est ici que   
                                                                                  // tout s'arrête  

		if(recept->Length()>0)  ok=true;
		++i;
	  }
  }
  catch(...)
  {
	ShowMessage("Réception impossible");
  }
  return ok;
}
//---------------------------------------------------------------------------
Le blocage n'est pas systématique,mais lorsqu'il arrive cela dure indéfiniment.
Cela voudrait signifier que le programme ne passe pas à la ligne suivante.

Quelqu'un a-t-il une idée sur ce sujet ?

Merci