kikaktus
Messages postés5Date d'inscriptionjeudi 12 avril 2007StatutMembreDernière intervention 4 juin 2007
-
1 juin 2007 à 12:01
BunoCS
Messages postés15391Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention18 septembre 2023
-
4 juin 2007 à 15:29
Bonjour,
je suis débutant en MFC et en langage objet.
Je souhaite "convertir" mon code C existant vers un programme en MFC.
J'utilise le port serie, mais j'ai besoin d'aller vérifier régulièrement (évenement)la présence de données.
comment puis-je faire cela?
J'espère que ma question est assez clair, en faite je n'arrive pas à voir comment je peux faire en MFC ce que je faisait dans un while en C...
D'avance merci, et n'hésitez pas à me demander plus de détails si ce n'est pas suffisant.
BunoCS
Messages postés15391Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention18 septembre 2023102 1 juin 2007 à 14:01
Salut,
Si tu dois aller voir "régulièrement" ton port série, tu peux regarder également du côté des fonctions SetTimer() et OnTimer() je pense.
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
kikaktus
Messages postés5Date d'inscriptionjeudi 12 avril 2007StatutMembreDernière intervention 4 juin 2007 4 juin 2007 à 14:13
J'ai regardé pour les threads, cela me semble être la bonne solution. Seulement je n'arrive pas à la mettre en oeuvre:
j'ai besoin de mettre à jour un champ EDIT depuis mon thread ( pour afficher les receptions/emissions RS232).
J'ai donc ajouté ma fonction thread à ma class Dlg (pour avoir accès à ma variable du champ EDIT), kle demarrage du thread se fait à l'appui d'un bouton.
j'ai cette erreur à la compilation :
error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'
J'arrive à compiler avec une fonction static, mais si je veux utiliser ma variable du champ EDIT j'ai :
C:\M2M\test\GSM\GSMDlg.cpp(292) : error C2597: illegal reference to data member 'CGSMDlg::m_strConsole' in a static member function
et avec m_strConsole en static :
error LNK2001: unresolved external symbol "public: static class CString CGSMDlg::m_strConsole" (?m_strConsole@CGSMDlg@@2VCString@@A)
kikaktus
Messages postés5Date d'inscriptionjeudi 12 avril 2007StatutMembreDernière intervention 4 juin 2007 4 juin 2007 à 14:16
Je repost en essayant les passages à la ligne
J'ai regardé pour les threads, cela me semble être la bonne solution. Seulement je n'arrive pas à la mettre en oeuvre:
j'ai besoin de mettre à jour un champ EDIT depuis mon thread ( pour afficher les receptions/emissions RS232).
J'ai donc ajouté ma fonction thread à ma class Dlg (pour avoir accès à ma variable du champ EDIT), le demarrage du thread se fait à l'appui d'un bouton.
j'ai cette erreur à la compilation :
error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'
J'arrive à compiler avec une fonction static, mais si je veux utiliser ma variable du champ EDIT j'ai :
C:\M2M\test\GSM\GSMDlg.cpp(292) : error C2597: illegal reference to data member 'CGSMDlg::m_strConsole' in a static member function
et avec m_strConsole en static :
error LNK2001: unresolved external symbol "public: static class CString CGSMDlg::m_strConsole" (?m_strConsole@CGSMDlg@@2VCString@@A)
BunoCS
Messages postés15391Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention18 septembre 2023102 4 juin 2007 à 14:25
Yo,
Une fonction devant être indépendante à l'aide de thread doit être static et donc ne dois pas être implémentée dans une classe
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
BunoCS
Messages postés15391Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention18 septembre 2023102 4 juin 2007 à 15:29
Avoir un pointeur sur la fenêtre contenant ton edit en variable globale...
Ou bien récupérer ton edit avec GetDlgItem()...
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage