Page 1 sur 1
InitNetwork [Résolu]
Publié : jeu. 27/avr./2006 2:14
par SPH
En reprenant l'exemple d'envoie d'email ici :
http://www.purearea.net/pb/CodeArchiv/I ... endMail.pb, et en modifiant le code pour envoyer successivement 2 emails, PB 3.94 me dit que InitNetwork ne peut etre ouvert qu'une seul fois. Il y a pourtant un "CloseNetworkConnection(ConnID)" dans la procedure !
Publié : jeu. 27/avr./2006 11:00
par SPH
Autre decouverte :
cette erreur se produit sur les .PB mais pas sous les codes compilés (les .exe donc). avec un code .exe, il n'y a pas d'erreur et pourtant, on envoye seulement 1 email au lieu de 2. L'erreur "non detecté" sous un .exe n'entraine pas la fermeture du programme !!!
"L'erreur" viendrait du code lui meme ? (mal concu ?, mauvaise instruction ?)
Publié : jeu. 27/avr./2006 11:40
par Dr. Dri
Il me semble qu'InitNetwork fonctionne comme tous les InitTruc de PB.
Tu appelles la fonction une seule fois (si elle échoue tu avises) et après c'est bon.
Dri
Publié : jeu. 27/avr./2006 13:26
par Cls
InitNetwork ne sert qu'à initialiser les fonctions réseaux (vérification de la pile TCP/IP comme dit dans l'aide).
CloseNetworkConnection() ferme le socket créé par OpenNetworkConnection().
Ces deux fonctions ne sont donc pas liées (open/close) mais indépendantes.
Quant au bug, il suffit d'appeler InitNetwork au début du programme principal et non dans les procédures et fonctions pour qu'il ne soit appelé qu'une seule fois.
Publié : ven. 28/avr./2006 22:59
par SPH
C'est ce que j'ai fais avant de vous lire.
Je ne voyais en effet que cette possibilité