public:
enum
{
////GUI Enum Control ID Start
ID_BUTTONENVOYER = 2003,
ID_EDITCOMMAND = 2002,
ID_COMMANDSTATICTEXT = 2001,
////GUI Enum Control ID End
ID_DUMMY_VALUE_ //Dont Delete this DummyValue
}; //End of Enum
void CommandDialogClose(wxCloseEvent& event);
void CreateGUIControls(void);
void envoyerClick(wxCommandEvent &event);
};
Voila, ben en fait, je veux utiliser le pointeur wxFTP *ftp; qui est initialisé dans une fonction membre de FTPclientFrm, dans CommandDialog.
Ou alors, ca me semble plus "développeur" d' appeller une fonction membre de FTPclientFrm à partir de la fonction envoyerClick(event); qui est membre de CommandDialog;
Donc, avec ce code j' arrive à utiliser des fonctions membres de CommandDialog à partir de FTPclientFrm mais pas à utiliser les fonctions de FTPclientFrm à partir de CommandDialog et l' inverse;
xterminhate
Messages postés371Date d'inscriptiondimanche 4 janvier 2004StatutMembreDernière intervention23 septembre 2009 11 sept. 2005 à 22:26
struct et class permettent de faire des objets en C++.
Tu dois passer au constructeur de CommandDialogue le pointeur de wxFTP créé à partir de ton objet frame. Cela te permet de partager le même objet wxFTP entre la frame et la boite de dialogue.
Maintenant, l'histoire d'appeller une fonction membre de frame à partir de ta boite de dialogue montre seulement un défaut dans la conception orientée objet de ton applicaiton. Divise ta classe frame pour te faciliter la tache et partage les différentes instances entre la frame et la boite de dialogue....
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 11 sept. 2005 à 14:59
bonjour,
désolé mais je ne saisi pas bien le :
"Passe ce pointeur à l'instance dériviée de wxDialog par l'intermédiaire de son constructeur"
ca revient à faire quoi???reconstruire l' objet dans wxDialog????
car si c'est ca, déja essayé et vu que ce n' est pas le meme objet mais un nouvo, ac ne marche pas, enfin , 0 erreurs de compile mais ma fonction travaille sur une autre instance que celle affichée a l' user..
Merci de préciser, je suis débutant !Et pas de support tel que livre ou autre (encore)
C 'est la que je ne sais plus ou donner de la tetine :
Dans FTPclientFrm, j' ai une fonction membre qui envoi une commande ftp via un objet wxFTP *ftp en utilisant la fonction command() qui est membre de CommadDialog, ca ca marche bien :
void FTPclientFrm::send()
{
wxString com = m_comDialog->EditCommand->GetValue();
ftp->SendCommand(com);
result();
}
Dans CommandDialog il y a un bouton avec une fonction
void envoyerClick(wxCommandEvent &event);
De cette fonction, il faut que j' appelle send(); qui est membre de FTPclientFrm;
C' est ceci que je n' arrive pas a faire;
Est-ce que j' emploi la bonne méthode??Comment faire;àààà l' aideeeeee !
event.Merci();
@+;
ROOT_DIEU Alias satellite34
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 11 sept. 2005 à 22:15
Alors la, vraiment je surnage pourquoi struct alors que j' ai déja une classe nommée CommandDialog???J' ai essayé quand meme de mettre dans ma classe CommandDialog :
CommandDialog( wxFTP* ftp )
private:
wxFTP* ftp; // lien vers l'objet wxFtp initialisé dans FTPclientFrm.
que j' utilise dans la fonction envoyerClick(wxCommandEvent& event);
ftp->SendCommand(command());
donc, ca plante, normal tu m' dira l' objet n' est pas créé mais si je fais un new, boum!, je suis plus sur le meme objet wxFTP;
Et puis, moi, ce que je veux faire, la, c'est utiliser une fonction membre de FTPclientFrm à partir de CommandDialog, pas utiliser un objet;
Quand on connai pas, Du code sans explications ca sert un peu à rien, je me doute que le temps est un précieux énnemi, mais bon, j' aurai préféré un peux d' expliks a la place d' un morceau de code;; erf, merci kan meme xther. mais la, je supernage;mdr