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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|