LittleJC
Messages postés8Date d'inscriptionvendredi 8 août 2003StatutMembreDernière intervention15 octobre 2004
-
2 août 2004 à 11:49
LittleJC
Messages postés8Date d'inscriptionvendredi 8 août 2003StatutMembreDernière intervention15 octobre 2004
-
12 janv. 2005 à 08:51
Bonjour,
J'ai créé un ocx MFC qui utilise wincap. Dedans j'utilise des theads pour que l'application qui utilise l'ocx (dans mon cas c'est une appli VB) ne se bloque pas pdt la reception des trames.
Lorsque je recois une trame je la traite car je dois recevoir des trame spécifique ensuite j'envoie un evenement avec les informations nécessaire (dans mon cas que des long).
Le problème vient que lorsque je mets un break point dans mon programme VB l'application plante. Après plusieurs tests .. .le pb viendrait des threads !! car l'évenement en lui même fonctionne bien, si je n'utilise pas le thread je n'ai pas de pb mise à part que l'application n'affiche pas la fenetre du au loop du winpcap.
Est ce qu'il y aurait qq chose qui lancerait un processus ?
la fonction que j'utilise est :
"AfxBeginThread".
Lorsque je lance mon processus je dois pouvoir passer en paramètre le this de ma classe pour avoir les méthodes et les champs de ma classe.
LittleJC
Messages postés8Date d'inscriptionvendredi 8 août 2003StatutMembreDernière intervention15 octobre 2004 12 janv. 2005 à 08:51
salut,
ba enfait j'ai résolu le pb en créant un autre ocx vb qui va lire les données que j'ai besoins après avoir eu l'événement .. car j' n'ai toujours pas trouvé comment faire !!
Car normalement les valeurs passées par événements sont par "valeur" et non pas référence !! donc il ne devrait pas avoir un pb de partage de ressources.
Ce que j'ai fais n'est pas vraiment "propre" mais ca a résolu mes pbs car avant de lire les données je fais "une sorte de sémaphore" pour bloquer les données que je vais mettre à jour pour éviter de les lire pdt ce temps la.
Si j'ai pas mis mes sources c'est que les trames que j'analyse sont des trames d'un client donc protégées.
Pour le moment le programme est mis de coté, mais j'essayerai quand j'aurai le temps de le refaire en C++.Net et si ca fonctionne correctement je pourrais modifié le prog pour qu'on ne vois plus les infos du client