Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > Вызов модального диалога разными способами. |
Автор: AndreySol 17.2.2007, 12:04 | ||||
К примеру есть диалог и класс этого диалога CMyDialog. Если мне надо вызвать его из какого-то места то можно сделать так:
и можно так:
В чем разница между этими способами в плане надежности сохранения\передачи данных, использования памяти и другие плюсы\минусы ? |
Автор: vinter 17.2.2007, 12:22 |
разница только в том где выделена память под обьект, в стеке или в куче, так что побарабану. |
Автор: Greeen 17.2.2007, 14:40 |
В стеке память выделяется быстрее, поэтому если тебе в дальнейшем не понадобится указатель на твой диалог вариант 1 лучше |
Автор: Earnest 17.2.2007, 15:18 |
Да ни в чем, по большому счету. Расходы на динамическое выделение памяти исчезающе малы по сравнению со всем, что жрет ГУИ. Но, спрашивается, зачем делать лишние движения, если без них можно обойтись? Насчет указателя на диалог, который понадобится кому-то еще... после того, как диалог "отмодалился" - кому он, спрашивается может быть нужен? Другое дело, если бы в этой точке реальный тип диалога был неизвестен, и он создавался бы какой-то функцией CreateMyDialog, возвращающей указатель на общего предка... |
Автор: Greeen 17.2.2007, 16:35 | ||
![]() |
Автор: AndreySol 17.2.2007, 17:16 |
Из всего вышесказанного мона сделать вывод, что если надо просто вызвать диалог, созданный в ресурсах, то лучше и проще первый способ ? |
Автор: Greeen 17.2.2007, 21:00 |
Да, первый способ. Но это модальный диалог. Немодальный - уже другая история ![]() |
Автор: AndreySol 17.2.2007, 22:45 |
Ну тогда Всем спасибо. |