Трабла с окном, полученным по ссылке
От: Аноним  
Дата: 01.02.10 11:25
Оценка:
Доброго времени суток

Такой кусок работает
CMyDialog dlg;
dlg.DoModal();

А эти два нет:
CMyDialog *dlg2 = new CMyDialog();
dlg2->DoModal();

CMyDialog &dlg3 = CMyDialog();
dlg3.DoModal();

Народ, объясните, почему так?
Re: Трабла с окном, полученным по ссылке
От: makes Россия  
Дата: 01.02.10 12:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Доброго времени суток


А>Такой кусок работает

А>CMyDialog dlg;
А>dlg.DoModal();

А>А эти два нет:

А>CMyDialog *dlg2 = new CMyDialog();
dlg2->>DoModal();

А>CMyDialog &dlg3 = CMyDialog();

А>dlg3.DoModal();

А>Народ, объясните, почему так?


Третий не работат потому что объект на который указывает dlg3 умирает в тойже строчке:
CMyDialog &dlg3 = CMyDialog()


А вот почему второй вариант не работает не могу зказать. А каков анамнез?
Re[2]: Трабла с окном, полученным по ссылке
От: Аноним  
Дата: 01.02.10 18:07
Оценка:
Здравствуйте, makes, Вы писали:

M>Здравствуйте, Аноним, Вы писали:


А>>Доброго времени суток


А>>Такой кусок работает

А>>CMyDialog dlg;
А>>dlg.DoModal();

А>>А эти два нет:

А>>CMyDialog *dlg2 = new CMyDialog();
dlg2->>>DoModal();

А>>CMyDialog &dlg3 = CMyDialog();

А>>dlg3.DoModal();

А>>Народ, объясните, почему так?


M>Третий не работат потому что объект на который указывает dlg3 умирает в тойже строчке:

M>
M>CMyDialog &dlg3 = CMyDialog()
M>


это почему же?

M>А вот почему второй вариант не работает не могу зказать. А каков анамнез?
Re[3]: Трабла с окном, полученным по ссылке
От: makes Россия  
Дата: 02.02.10 07:24
Оценка:
Сорри, был не прав!

Так а что все-таки у Вас происходит во втором и третьем случае?
Re: Трабла с окном, полученным по ссылке
От: _dimidrol_ Украина http://dimontest.narod.ru
Дата: 02.02.10 21:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Доброго времени суток


А>Такой кусок работает

А>CMyDialog dlg;
А>dlg.DoModal();

А>А эти два нет:

А>CMyDialog *dlg2 = new CMyDialog();
А>dlg2->>DoModal();

А>CMyDialog &dlg3 = CMyDialog();

А>dlg3.DoModal();

А>Народ, объясните, почему так?


Про модальные и немодальные диалоговые окна что-нибудь слышал?

Пример создания немодального диалога:
CMyDialog *dlg2 = new CMyDialog();
dlg2->Create(...);
dlg2->ShowWindow(SW_NORMAL);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.