Accueil > Forum > > > > 2 classes --> utiliser les memes objets;
2 classes --> utiliser les memes objets;
vendredi 9 septembre 2005 à 23:47:17 |
2 classes --> utiliser les memes objets;

satellite34
|
Bonjour,
Je dev une appli qui contient 2 classes; une classe de ma frame principale et une petite classe amie qui est un dialog, qui contient un event bouton.
le code :
////Dialog Style Start #define THIS_DIALOG_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxCLOSE_BOX | wxRESIZE_BORDER #undef CommandDialog_STYLE #define CommandDialog_STYLE wxCAPTION | wxMINIMIZE_BOX | wxCLOSE_BOX | wxOK ////Dialog Style End /* Frame */ class FTPclientFrm : public wxFrame { private: DECLARE_EVENT_TABLE() public: FTPclientFrm( wxWindow *parent, wxWindowID id = 1, const wxString &title = _T("FTPclient"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = THIS_DIALOG_STYLE); ~FTPclientFrm(); friend class CommandDialog; ////GUI Control Declaration Start public : wxFTP *ftp; CommandDialog *m_comDialog; public : enum { ////GUI Enum Control ID Start ID_STCMD = 1031 , ID_COMDIALOG = 1030 ,, ////GUI Enum Control ID End ID_DUMMY_VALUE_ //Dont Delete this DummyValue }; //End of Enum; void FTPclientFrmClose(wxCloseEvent &event); void CreateGUIControls(); public : void connect(); void result(); }; /* Dialogue envoie de commandes */ class CommandDialog : public wxDialog { public: CommandDialog( wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("CommandDialog"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = CommandDialog_STYLE); ~CommandDialog(); wxButton *ButtonEnvoyer; wxTextCtrl *EditCommand; wxStaticText *StaticTextCommand; private: DECLARE_EVENT_TABLE() 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;  event.Merci(); @+; ROOT_DIEU Alias satellite34
|
|
dimanche 11 septembre 2005 à 08:20:39 |
Re : 2 classes --> utiliser les memes objets;

xterminhate
|
Le pointeur est initialisé dans la classe dériviée wxFrame et utilisé dans la classe dérivée wxDialog.
Passe ce pointeur à l'instance dériviée de wxDialog par l'intermédiaire de son constructeur.
Je vois pas le probleme....
|
|
dimanche 11 septembre 2005 à 14:59:05 |
Re : 2 classes --> utiliser les memes objets;

satellite34
|
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) event.Merci(); @+; ROOT_DIEU Alias satellite34
|
|
dimanche 11 septembre 2005 à 21:47:27 |
Re : 2 classes --> utiliser les memes objets;

satellite34
|
Bonsoir, Bon, je vais éclaircir mon affaire car c'est clair que c' est pas clair;lol; donc, en premier lieu j' ai 2 classes(héhé); 1-->FTPclientFrm 2--->CommandDialog CommandDialog est l' amie de FTPclientFrm, pour la création d' un dialog a partir d' un évenement de FTPclientFrm;Jusque la c' est ok; J' ai une fonction membre de CommandDialog qui récupere une chaine de caracteres dans textCtrl : wxString CommandDialog::command() { wxString cmd = EditCommand->GetValue(); return cmd; }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
|
|
dimanche 11 septembre 2005 à 21:54:04 |
Re : 2 classes --> utiliser les memes objets;

xterminhate
|
struct CommandDialog { CommandDialog( wxFTP* ftp ) private: wxFTP* ftp; // lien vers l'objet wxFtp initialisé dans FTPclientFrm. }
|
|
dimanche 11 septembre 2005 à 22:15:02 |
Re : 2 classes --> utiliser les memes objets;

satellite34
|
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 event.Merci(); @+; ROOT_DIEU Alias satellite34
|
|
dimanche 11 septembre 2005 à 22:26:16 |
Re : 2 classes --> utiliser les memes objets;

xterminhate
|
Réponse acceptée !
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....
C'est Xterm, comme la console UNIX.
|
|
Cette discussion est classée dans : style, id, enum, event, commanddialog
Répondre à ce message
Sujets en rapport avec ce message
Besoin de méthode pour les classes !!! [ par satellite34 ]
Boinsoir,Comme expliqué sur un autre post (pas trés clair il est vrai), j' ai un soucis avec l' utilisation de 2 classes.Mon programme se constitue co
DevC++ Frame et la methode Hide [ par imedghar ]
Slt tlm,je suis entrain de programmer des GUI avec wxwundows et dev C++.j´ai le probleme suivant:j´ai deux frames (HauptFrame et ActionFrame), pour le
Style de mots dans une EditBox [ par PLUiK ]
Salut!Je voudrais savoir si on peut changer le style de certains mots ou caractères dans une EditBox en utilisant l'API(pas entièrement, mais seulemen
Probleme avec VK_.... ( balayage clavier ) [ par morgandetoi06 ]
voila j aimerait simuler l appui des touches "alt" + "="mais je ne trouve pas le code de la touche "="( elle est située à gauche du backspace )voila l
icone + texte sur boutton [ par SnOOpss ]
Bonjour tout le monde !!J arrive a mettre une icone sur un boutton ( avec le style bs_icon) mais a ce moment je n'ai plus le texte est ce qu il est po
novice en C++ [ par leRoutier ]
bonjours a tous j'apprend en C++ enfin j'essaye d'apprendre enC++ j'ai actuellement devc++ que pas mal de monde recommande pour commencer mais il manq
Richedits et style XP [ par Nebula ]
Bonjour, Encore une contrariété avec les RichEdits : ils ne prennent pas l'apparence XP, comme les edits normaux. Dixit MSDN : "To use visual styles
GetDlgItemText sans l'identifier [ par oceax ]
Bonjour,Voilà j'aimerai récupérer un texte contenu dans une edit box dans une fenetre dont je ne connais que le handle...J'ai essayé de retrouver l'iD
Id cpu [ par stancw1775 ]
Bonjour ! Je souhaites recuperer l'id d'un processeur mais en C sous windows .. c'est possible ??
HELLP ME FOR MY PTI [ par dj_ricom ]
Je suis actuellement en première année BTS IG et je souhaite réaliser un PTI sur la gestion d'une école notament en ce qui concerne les notes des elev
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|