Appel destructeur Boite de dialogue
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:
Code:
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);
} |
question 1:
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 ?
Code:
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;
} |
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?
question 2:
Est ce que je peux éviter le pointeur en créant un objet statique par :
Code:
CFilleDlg dlgFille;
à la place de
Code:
CFilleDlg *dlgFille; dlgFille->new CAnnulationBonDlg;
Des conséquences ?
Merci