![]() |
|
|
![]()
|
|
| mrgloom |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
Есть главное окно, на нем кнопка добавить, по кнопке вызывается диалог, в котором вводится текст, текст потом сохраняется в переменную.
почему падает? если же сделать так внутри обработчика нажатия ок самого окна в котором пишется текст, то всё ок.
Это сообщение отредактировал(а) mrgloom - 8.11.2012, 13:40 |
||||
|
|||||
| Albor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
падает потому что все оконные объекты диалога уже разрушены и к ним нельзя обращаться.
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Другими словами, текст из эдита в диалоге можно получить только при жизни самого диалога. Например в обработчике OnOK. Хотя обычно это делают в DoDataExchange. Т.е. придется завести в классе диалога переменную-строку, в которую записать данные из эдита. После разрушения окна-диалога строка никуда не денется.
-------------------- ... |
|||
|
||||
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
да, так всё и оказалось, либо заводить переменную вунтри класса окна либо передавать в какую нибудь внешнюю в OnOK().
но вообще то как то это не очень логично, что окно разрушается, а переменные у класса окна доступны, но понять всё равно можно. Это сообщение отредактировал(а) mrgloom - 13.11.2012, 15:17 |
|||
|
||||
| Albor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
Всё вполне логично: оконная часть объекта своё отработала и уничтожена, а остальное работоспособно. Если захочется, то можно снова вызвать DoModal() и отобразить окно сколько угодно раз. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |