Bonjour,

J'utilise Indy TIdTCPServer1 pour un projet de connexion serveur/client, notamment la pile GStack pour vérifier si une IP est valide ou lister les IP locales

Le code ci-dessous envoie l'erreur suivante : "Erreur de vérification d'étendue".

Visiblement cela vient de la boucle for. J'ai essayé .RefCount()-1, pas d'erreur mais cela ne fonctionne pas.

Si vous avez une solution, merci d'avance

Cordialement


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
 
void __fastcall TForm1::Button4Click(TObject *Sender)
{
 //lister  adresses IP
 for (int i = 0; i< GStack->LocalAddress.RefCount(); i++) //  "Erreur de vérification d'étendue"
  ListBox1->Items->Add(GStack->LocalAddress[i]); // sans la boucle, l'IPV4 s'affiche
}
 
 
// le code ci-dessous fonctionne bien
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  if (!(GStack->IsIP(Edit1->Text)))
	ShowMessage ("Erreur");
	  else  ShowMessage ("Adresse exacte");
 
}