Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов модального диалога разными способами. 
V
    Опции темы
AndreySol
Дата 17.2.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



К примеру есть диалог и класс этого диалога CMyDialog. Если мне надо вызвать его из какого-то места то можно сделать так:
Код

CMyDialog m_pMyDialog;
if(m_pMyDialog.DoModal() == IDOK)
{
..............
}

и можно так:
Код

CMyDialog* pMyDialog = new (CMyDialog);
if(pMyDialog->DoModal() == IDOK)
{
..............
}
delete pMyDialog;

В чем разница между этими способами в плане надежности сохранения\передачи данных, использования памяти и другие плюсы\минусы ?
PM MAIL   Вверх
vinter
Дата 17.2.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 4
Всего: 56



разница только в том где выделена память под обьект, в стеке или в куче, так что побарабану.


--------------------
Мой блог
PM MAIL WWW   Вверх
Greeen
Дата 17.2.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



В стеке память выделяется быстрее, поэтому если тебе в дальнейшем не понадобится указатель на твой диалог вариант 1 лучше


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
Earnest
Дата 17.2.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Да ни в чем, по большому счету. Расходы на динамическое выделение памяти исчезающе малы по сравнению со всем, что жрет ГУИ. Но, спрашивается, зачем делать лишние движения, если без них можно обойтись?
Насчет указателя на диалог, который понадобится кому-то еще... после того, как диалог "отмодалился" - кому он, спрашивается может быть нужен?

Другое дело, если бы в этой точке реальный тип диалога был неизвестен, и он создавался бы какой-то функцией CreateMyDialog, возвращающей указатель на общего предка... 


--------------------
...
PM   Вверх
Greeen
Дата 17.2.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



Цитата(Earnest @  17.2.2007,  15:18 Найти цитируемый пост)
после того, как диалог "отмодалился" - кому он, спрашивается может быть нужен?

 smile мда, неподумавши ляпнул


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
AndreySol
Дата 17.2.2007, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



Из всего вышесказанного мона сделать вывод, что если надо просто вызвать диалог, созданный в ресурсах, то лучше и проще первый способ ?
PM MAIL   Вверх
Greeen
Дата 17.2.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



Да, первый способ. Но это модальный диалог. Немодальный - уже другая история  smile 


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
AndreySol
Дата 17.2.2007, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



Ну тогда Всем спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0640 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.