Dans mon module de test d'extraction de date et heure, j'extrais la date et l'heure d'un GPS, la date je l'affiche dans edit1 et l'heure dans l'Edit2.
Module de test 1: Celui ui marche pas
Lors du pas-à-pas je me suis rendu compte que c'était lors du passage dans SetDlgItemText qu'il m'envoyaissur cette erreur
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
18
19
20
21
22 void Ctest_one_shootView::OnBnClickedButton1() { CString tmp1,tmp2; try { pApp->NMEA183.recupTRAME(); pApp->NMEA183.Extraire_date(date); pApp->NMEA183.Extraire_heure(heure); tmp1=(CString)date; tmp2=(CString)heure; SetDlgItemText(IDC_EDIT1,tmp1); SetDlgItemText(IDC_EDIT2,tmp2); } catch (char *Err) {if (strcmp (Err,"Erreur #003")==0) {MessageBox(TEXT("Impossible de lire sur le port com"),TEXT("Erreur #003"),MB_ICONSTOP); } } }
J'ai réalisé un autre module de test qui lui marche, la chaine que j'ai tapé dans l'Edit1 s'affiche dans l'edit2 en passant par un conversion en char* et à nouveau en CString.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 _CRTIMP void _cdecl _CrtDbgBreak( void ) { DebugBreak(); }
Module de test 2: celui qui marche
Je ne vois pas pourquoi le module de test 1 ne fonctionne pas c'est exactement le même fonctionnement que le n°2 à la différence que j'affiche des informations extraites dans le 1
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 void CConversionView::OnBnClickedButton1() { int lenght; CString str,str2; CEdit *Edit1; Edit1=static_cast<CEdit*>(GetDlgItem(IDC_EDIT1)); Edit1->GetWindowTextW(str); lenght=Edit1->GetWindowTextLengthW(); conv=new char(lenght); convertirCHAR(&str,conv,lenght); str2=(CString)conv; SetDlgItemText(IDC_EDIT2,str2); }
Partager