Здравствуйте, Blabla, Вы писали:
B>Я ниче не понимаю....
B>Неужели никто не замечал никогда как течет память при работе с диалогами?
B>Привожу пример:
B>1)С помощью мастера создаем проект-диалог
B>2)Создаем в ресурсах еще один диалог с ID=IDD_DLG2
B>3)На сгенерированном мастером диалоге (при создании проекта) кидаем кнопку и создаем обработчик нажатия этой кнопки
B>4)В обработчике этой кнопки пишем следующий код:
B>CDialog dlg(IDD_DLG2);
B>dlg.DoModal();
B>5)Запускаем приложение
B>6)Запускаем диспетчер задач, и находим наш процесс
B>7)Теперь в запущенном нашем приложении устанавливаем фокус на кнопку и зажимаем Enter. В результате дилог IDD_DLG2 будет появляться и исчезать, появляться и исчезать, появляться и исчезать....
B>8)Теперь смотрим в диспетчер задач. Память выдялемая под наш процесс постоянно УВЕЛИЧИВАЕТСЯ!
B>Что за хрень?
B>Кто нибудь может это объяснить?
B>И можно от этого как-нибудь избавиться?
попробуй сделать так
CDialog* dlg=new CDialog(IDD_DLG2);
dlg->DoModal();
delete dlg;