Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
977 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Visibilite des classes MFC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Visibilite des classes MFC

n°324331
polo021
Posté le 06-03-2003 à 10:31:38  profilanswer
 

Voila, je possede un classe GatewayComm qui a une donnee membre  SOCKET s.
J'ai mis un objet de type GatewayComm dans mon document, ca s'appele gw.
 
J'ai un bouton send dans une boite de dialogue qui devrai permettre d'envoyer un message via la socket s. Ma boite de dialogue a aussi une donnee membre pointeur vers mon document pour permettre de recuperer la socket pour faire mon send.
  CCASDoc* ptr_doc;
Donc voici la syntaxe de mon send :

Code :
  1. if (send(ptr_doc->gw.s,msg, strlen(msg), 0 )== SOCKET_ERROR )
  2. {
  3.      affichage erreur
  4. }
  5. else
  6. {
  7.      affichage ok
  8. }


A l'execution je passe toujours dans "affichage erreur" et le probleme ne vient pas de la socket car ailleurs elle fonctionne  si j'en cree une juste avant de faire le send(...) ca fonctionne aussi. C'est ce qui me fait dire que j'ai un probleme de visibilite de la socket de mon objet GatewayComm de mon document.
 
Quelqu'un voit ou j'ai pu me tromper?

mood
Publicité
Posté le 06-03-2003 à 10:31:38  profilanswer
 

n°324353
VisualC++
J'va y penser ...
Posté le 06-03-2003 à 10:43:07  profilanswer
 

(ptr_doc->gw).s pitetre ? Aulieu d'ecrire directement ptdr_doc.... ds le send passe par un  

Code :
  1. SOCKET sck = ptr_doc->gw.s;
  2. if (send(....


Afin de controler sck avant.
 
 
Mais sinon concernant la visibilite des membre de classe MFC c exactement laa mm qu'en pure c++.

n°324367
polo021
Posté le 06-03-2003 à 10:51:41  profilanswer
 

VisualC++ a écrit :

(ptr_doc->gw).s pitetre ?  


J'y avais pas pense a ca. Mais non, ca ne change rien, toujours le meme probleme.

VisualC++ a écrit :


Code :
  1. SOCKET sck = ptr_doc->gw.s;
  2. if (send(....




J'avais deja pense a ca mais ca ne resoud pas le probleme.
 
 :??:


Message édité par polo021 le 06-03-2003 à 10:52:14
n°324370
VisualC++
J'va y penser ...
Posté le 06-03-2003 à 10:53:51  profilanswer
 

Vi pardon pour le second point manque les parentheses ;)
SOCKET sck = (ptr_doc->gw).s;

n°324380
polo021
Posté le 06-03-2003 à 11:03:01  profilanswer
 

oui, mais ca ne change rien, meme avec les parentheses.
Ce qui est etonnant c que ca passe a la compilation et au link, donc la socket s est connue dans ma boite modale et pourtant ca ne fonctionne pas.  :pfff:

n°324410
VisualC++
J'va y penser ...
Posté le 06-03-2003 à 11:24:38  profilanswer
 

Ca ok mais quand t executes en debug, tu recupes koi ds sck ? tout est valide ?

n°324447
polo021
Posté le 06-03-2003 à 11:37:47  profilanswer
 

J'ai pas trouve le moyen de faire un debug d'une application qui tourne sur pocket pc.
Car c'est un pgm pour pocket pc donc je compile et lie sur pc et je transfert directement le .exe sur le pocket pc.
 
 
Comment je pourrai resoudre ce probleme de socket? Je vais quand meme pas mettre tout mon code dans le document.

n°324618
polo021
Posté le 06-03-2003 à 13:43:04  profilanswer
 

plutot que de passer par un pointeur sur le document, je viens d'essayer d'appeler une methode de ma classe GatewayComm en passant directement par un pointeur sur GatewayComm. Ce qui donne dans le bouton de la boite de dialogue
GatewayComm* ptr_gw->sends("message a envoyer" );
 
Et dans la methode sends de GatewayComm  

Code :
  1. if (send( s,temp, strlen(temp), 0 )== SOCKET_ERROR )


 
Comme cela, je ne passe plus par un pointeur sur le document. Ce qui fait que le probleme est contourne mais toujours pas resolu.
C qd meme bizarre ce probleme.  :heink:  
En tout cas merci de m'avoir aide.

n°324635
polo021
Posté le 06-03-2003 à 14:05:22  profilanswer
 

polo021 a écrit :


GatewayComm* ptr_gw->sends("message a envoyer" );


apres avoir reflechi un peu, je me demande si tout ceci est bien correct! car je n'ai initialise ptr_gw nulle part!
 :ouch:  
Enfin si ce n'est pas necessaire, ca peut fonctionner qd meme mais bon ca fait quand meme un peu desordre non?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Visibilite des classes MFC

 

Sujets relatifs
MFC pointeur sur CDocumentVariable globale en MFC?
Interfacage Allegro/MFCMFC
[MFC] WinInet -> Proxy[MFC] CAsyncSocket ....
[MFC] Ajouter des elements a une CListView ?gestion des exceptions dans les classes en cpp
[JAVA] - On en fait quoi des classes ?[C/C++][Win32] PreTranslateMessage sans MFC: detect key press
Plus de sujets relatifs à : Visibilite des classes MFC


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR