mouloudh
Messages postés26Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention 5 août 2011
-
18 août 2006 à 13:50
cs_lacousine
Messages postés58Date d'inscriptionmardi 6 janvier 2004StatutMembreDernière intervention13 juillet 2007
-
24 août 2006 à 16:47
Salut la communauté,
Je travaille sur un programme. Il s'agit de simuler deux périhphériques qui communiquent
sur les ports Com, avec un fichier log qui enregiste les messages dans les 2 sens.
Le programme fonctionne correctement, si j'ai 2 ou 3 échanges.
Dès que, j'ai codé un fonctionnement continu, le CDialogue n'apparait plus, le prog se lance
et s'arrête aussitôt, avec un fichier log de 22k.
Le moniteur de perf. ne montre pas de surconsommation de ressources. Que peut être le prob.
et surtout comment faire pour que ça marche de manière continue?
Merci pour toute aide! (je travaille sous Visual C++ 6 et les ports com sont virtuels).
cs_lacousine
Messages postés58Date d'inscriptionmardi 6 janvier 2004StatutMembreDernière intervention13 juillet 2007 24 août 2006 à 16:47
A première vue, je crois que le problème se situe au niveau des THREAD. Je crois que tu en as pas. Le formulaire gèle en général quand le programme est occupé à faire un traitement ailleurs. Pour avoir déjà fait un programme très simulaire au tient, je suis presque certaine que cela est ta nouvelle fonction que tu as ajouté. Pourrais-tu la copier/coller S.V.P. ? Pourrais-tu m'indiquer comment celle-ci est appelé et interagit dans ton code?
Solutions :
<li>Ajouter un thread qui vérifie s'il y a de nouveau message d'arrivé.</li>
<li>Faire une classe Message qui contient : CString Message, Event eMessageArrivé, bool VerifierMessage( ),void AjouterMessage(CString) ... Quand AjouterMessage( ) reçoit de nouvelle donnée, il met l'évenement eMessageArrivé à true.</li>
<li>Dans ton Dialogue, tu fais la fonction qui appel VerifierMessage( ) et si true tu récupère la donnée et tu reset on Event à false.</li>
L'Avantage de faire cela de moi prendre le temps CPU. Ce qui permet au reste du programme de continuer et de ne pas être bloqué à un endroit précis. ICI je prend pour acquis que tu n'as pas mis de thread.
sur cela, Bonne continuation.
Mieux vaut être blonde et poser des questions que de rester ignorante !!!!