begin process at 2012 05 29 17:24:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

Problème de GetDlgItem dans un thread


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de GetDlgItem dans un thread

vendredi 6 avril 2007 à 15:27:20 | Problème de GetDlgItem dans un thread

Nixeus

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;

}

Merci  à tous pour votre attention !

Bonne soirée

vendredi 6 avril 2007 à 17:21:17 | Re : Problème de GetDlgItem dans un thread

DeAtHCrAsH

2 solutions:
- utiliser les sections critiques
- utiliser la synchronisation

Cf MSDN

Shell
vendredi 6 avril 2007 à 17:25:47 | Re : Problème de GetDlgItem dans un thread

DeAtHCrAsH

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
vendredi 6 avril 2007 à 18:02:11 | Re : Problème de GetDlgItem dans un thread

Nixeus

:\

Et simplement ya pas un autre moyen?
vendredi 6 avril 2007 à 18:05:54 | Re : Problème de GetDlgItem dans un thread

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Passe la valeur dans pParam, semble inutilisé.

ciao...
BruNews, MVP VC++
vendredi 6 avril 2007 à 19:07:11 | Re : Problème de GetDlgItem dans un thread

Nixeus

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.
vendredi 6 avril 2007 à 19:16:51 | Re : Problème de GetDlgItem dans un thread

BruNews

Administrateur CodeS-SourceS
Alors passe le hwnd du edit.

ciao...
BruNews, MVP VC++
vendredi 6 avril 2007 à 19:44:57 | Re : Problème de GetDlgItem dans un thread

Nixeus

Ok, donc tu me conseilles de passer le handle du edit en argument pour pParam
Et mon GetDlgItem, que deviens -il?

Je m'excuse de ma question de noob, mais je suis pas très alaise avec tout ca !!

merci
vendredi 6 avril 2007 à 19:53:40 | Re : Problème de GetDlgItem dans un thread

DeAtHCrAsH

Réponse acceptée !
HWND hEdit;
hEdit = GetDlgItem(IDC_EDIT_PORT);


Shell
vendredi 6 avril 2007 à 19:55:11 | Re : Problème de GetDlgItem dans un thread

BruNews

Administrateur CodeS-SourceS
char buf[12];
::GetWindowText(hedit, buf, 12);
et atoi() pour finir.

ciao...
BruNews, MVP VC++

1 2

Cette discussion est classée dans : récupérer, port, serveur, thread, getdlgitem


Répondre à ce message

Sujets en rapport avec ce message

Comment récupérer les hundle d'un thread ??? [ par fana13 ] Bonjour a tous, je travail sous C++Alors j'ai créer une nouvelle fenetre, mais je souhaiterai récupérer un hundle bien particulier. Alors je voulais s fonction "inb" sous linux; port parallele [ par sasav ] Bonjour à tous Je viens chercher votre aide car je me trouve dans la merde jusqu'au cou !!!!!!!!!!! J'envoie une donnée sur le port parallèle, j'util Limiter l'accès à Internet [ par marcel6566 ] Bonjour,Je suis enseignant et je gère le parc informatique de mon établissement (100 PC).J'ai créé un programme qui tourne sur 2000 Serveur et qui gèr Jeu réseau [ par goutbouyo ] Salut,J'essaye de mettre une fonction réseau à mon jeu.Dans l'initialisation, j'ai mis un thread qui initialise soit un serveur ou soit un client.Ensu Problème d'arret de thread (MFC) [ par swinteur ] Me revoila! lolBon alors j'explique mon probleme.Lorsque mon serveur se lance, il crée un Thread qui gere la connexion.A la fin de l'execution de la t Clients Serveur [ par Sufolken ] J'ai pigé le système qui permet de faire passer des données entre un client et un serveur mais je ne vois pas comment faire avec un serveur mais plusi Client - serveur C++ avec thread [ par nono_in_maribor ] Bonjour!!Voila, je previens tout de suite je ne suis pas un pro du c++. Mon probleme est le suivant : j'ai fait un client-serveur en c++ (sous devc++) connection client serveur avec MFC [ par Spiffou ] Bonjour à tous,j'avance petit à petit dans la programmation socket, mais je suis confronté à une nouvelle difficulté et j'ai une ou deux question sans Thread, Client/Serveur VC++.Net et avec WinForms ( pas d'MFC ) [ par lacousine ] Bonjour,j'ai développé un serveur qui accept plusieurs clients avec des sockets. Voici mes problèmes: lorsque je veux mettre fin à mon serveur et qu'i multithread ? [ par saerlo ] comment récupérer la valeur retournée par une fonction lancée par un thread ?exemple: CreateThread(NULL, 0, fonction1, NULL, 0,0);comment récupérer la


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales