[MFC] étrange comportement de DoModal()
Bonjour à tous,
dans mon appli, j'utilise plusieurs dialogs, et je voudrait qu'elles suivent l'organisation suivante:
1/démarrage de l'appli
2/
-> nRet1 = dialog1.DoModal()
-> si nRet1 == IDCANCEL -> on quitte l'appli
---> sinon:
3/ nRet2 = dialog2->DoModal()
-> si nRet2 == IDOK -> retour au 2/
et voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| CDialog1 Dialog1();
CDialog2 Dialog2();
INT_PTR nRet1;
INT_PTR nRet2 = IDOK;
while (nRet2 !=IDCANCEL)
{
nRet1 = Dialog1.DoModal();
if (nRet1==IDOK)
{
nRet2 = Dialog2.DoModal();
}
} |
Et voici mon problème:
- la première boucle, tout se passe bien.
- à la deuxieme boucle, mon Dialog1.DoModal() ferme l'appli!!! oO Il ne retourne rien, il ferme sauvagement mon appli, sans message d'erreur rien! Il effectue le Dialog1::OnInitDialog() sans problème, et après il me ferme mon programme sans autre forme de procès!
Et bien sûr, il m'est impossible de tracer le code après le OnInitDialog() :cry:
Si vous avez une piste... merci :)