Problème de pointeur [MFC/VC++] - C++ - Programmation
Marsh Posté le 27-01-2005 à 13:01:00
Salut,
ça devrait fonctionner si ptr de ta classe CMaSocket est bien initialisé par le pointeur de ta vue, faut voir comment et quand tu l'initialise.... vérifie bien...
C'est quoi l'erreur ? d'execution ou de compile ?
Marsh Posté le 28-01-2005 à 18:21:03
En fait j'ai trouvé, j'ai rajouté la partie suivante dans xxxxApp.cpp :
BOOL CxxxxApp::InitInstance()
{
. . .
POSITION pos = GetFirstDocTemplatePosition();
if (pos)
{
// recup pts sur le modele de document
CDocTemplate * pdt = GetNextDocTemplate(pos);
if (pdt)
{
// recup position du premier document
POSITION dpos = pdt->GetFirstDocPosition();
if (dpos)
{
// ptr sur document
CxxxxDoc * pdoc = (CxxxxDoc*)pdt->GetNextDoc(dpos);
if (pdoc)
{
// position de l'objet d'affichage
POSITION vpos = pdoc->GetFirstViewPosition();
if (vpos)
{
// pointeur sur l'affichage?
CxxxxView * pview = (CxxxxView*)pdoc->GetNextView(vpos);
pdoc->pPDoc=pdoc;
pdoc->pPView=pview;
}
}
}
}
}
return TRUE;
}
En plus de ça j'ai rajouté quelques pointeur pDoc dans les classe ou je voulait faire de l'affichage...
Et hop j'ai récupérer les pointeurs pour gérer des variables du Doc et afficher des trucs dans le View.
Nikel.
Marsh Posté le 27-01-2005 à 01:50:14
Bonjour à tous,
Je bosse en MFC (SDI) sous Visual .NET, et je cherche à appeler une fonction CxxxView::Affichage(...) à partir d'une fonction CMaSocket:: OnReceive(int nErrorCode).
Le but étant d'afficher un Static text(par exemple), dans la fenetre principale de la View lorsque je reçois un message provenant du réseau.
Je pense qu'il faut que je déclare un pointeur de type "CxxxView* ptr" dans ma classe "CMaSocket"
et après, je tape : ptr->Affichage();
Mais ça provoque une erreur et je ne vois pas comment m'en sortir !
Donc merci de votre aide. Et si vous avez une autre méthode + efficace, je suis preneur
Message édité par djtiaf le 27-01-2005 à 02:34:05