Nixeus
Messages postés192Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention19 octobre 2020
-
6 avril 2007 à 15:27
Nixeus
Messages postés192Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention19 octobre 2020
-
14 avril 2007 à 19:08
Bonjour à tous !
Je développe actuellement une petite appli MFC avec visual studio 6.
J'ai créer un thread qui fonctionne très bien.
Dans ce thread, j'aimerais pouvoir récupérer une valeur saisie dans un editBox ( le programme est en fait, un serveur, et en l'occurence, ma valeure à récupérer est le numéro de port).
Je fais donc appel a GetDlgItem afin de récupérer ma valeur, et la, ca ne fonctionne pas, j'ai une erreure à la compilation me disant :
CWnd::GetDlgItem' : illegal call of non-static member function
Je vous montre le petit code de mon thread :
UINT CTEST_SERVEURSDlg::ThreadServeur(LPVOID pParam) // Implémentation de mon thread
{
CString m_strPort;
int m_nPort;
CEdit * pEdit = (CEdit *)GetDlgItem(IDC_EDIT_PORT);
pEdit->GetWindowText(m_strPort);
m_nPort=atoi(m_strPort); // conversion du numéro de port (CString) en entier ( int)
serveur *MonServeur= new serveur(m_nPort); // Appel au constructeur, création du socket
return 0;
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 6 avril 2007 à 17:25
Oups dsl j'ai mal lu ton probleme.
Cette solution est néamoins plus propre et plus sure pour tout ce qui est gestion des composants graphique dans les threads.
Shell
Vous n’avez pas trouvé la réponse que vous recherchez ?
Nixeus
Messages postés192Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention19 octobre 2020 6 avril 2007 à 19:07
Oui, mais j'aurais souhaité que mon GetDlgItem afin de récupérer la valeur de ma éditbox soit fais dans ce thread, comme ce thread est déclenché lors d'un appuis bouton.
Nixeus
Messages postés192Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention19 octobre 2020 6 avril 2007 à 21:42
Je ne vois pas, en fait, je pense que je déclare mon Hwnd au mauvaise endroit, mais je ne vois pas ou placer le code que vous m'avez donnés, vous pourriez me l'indiquer s'il vous plais?
Je suis conscient que je devient lourd sur ce post, mais la je floppe :(