Bonjour,
Quand je clique sur le bouton "suivant" dans la 1ère boite de dialogue "Base", je crée et je lance la 2ème boite de dialogue "Fille" de cette façon:
question 1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void CBaseDlg::OnClickedFilleDlgButton() { CFilleDlg *dlgFille; dlgFille->new CAnnulationBonDlg; dlgFille->Create (IDD_FILLE_DLG,(CWnd*)this); dlgFille->ShowWindow(SW_SHOW); }
où je doit appeler le destructeur de la 2ème boite de dialogue ?
Puisque la 2eme boite de dialogue se ferme par l'un des ces boutons: OK ou Annuler, dois-je mettre " delete dlgFille; " dans les deux fonctions suivantes ?
Le problème est que l'objet "dlgFille" est un objet local de la méthode CBaseDlg::OnClickedFilleDlgButton() il n'est pas identifié hors cette méthode ! alors où je doit appeler le destructeur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 void CFilleDlg::OnBnClickedCancel() { delete dlgFille; CDialogEx::OnCancel(); } void CFilleDlg::OnBnClickedOk() // Bouton OK { CDialogEx::OnOK(); delete dlgFille; }
question 2:
Est ce que je peux éviter le pointeur en créant un objet statique par :à la place de
Code : Sélectionner tout - Visualiser dans une fenêtre à part CFilleDlg dlgFille;Des conséquences ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part CFilleDlg *dlgFille; dlgFille->new CAnnulationBonDlg;
Merci
Partager