Немодальный диалог - ошибка после повторного вызова
От: mig_23  
Дата: 13.04.07 13:02
Оценка:
Доброе время суток!
Создал свой немодальный диалог, в коем содержится некоторое количество переменных, значения которых передаются в основное окно программы. Трабл в следующем: при первом вызове все ОК, происходит инициализация переменных, в диалоге меняются их значения, идет обмен данными с неким внешним устройством и т.д., диалог закрывается. При повторном вызове — вылетает ошибка отладчика Debug assertion failed! ... File: dlgdata.cpp, line 624, при нажатии кнопки "Пропустить" то же, но line 43. При нажатии "повтор" в Output window читаются сообщения:
Warning: initial dialog data is out of range.
Error: no data exchange control with ID 0x0504.
(переменная, связанная с контролом с ID 0x0504 становится почему-то равна 0 при вызове функции создания диалога CMyDialog.Create (ID_DIALOG_SCAN, this); до него она равна нужному значению).
Куда делся элемент управления (в данном случае это — edit box), если он — на месте в окне диалога, идентификатор — его? Может, некорректно удаляю данные или окно диалога после первого вызова? Создаю диалог функцией Create, удаляю — DestroyWindow...
Подскажите, плиз, где могут быть грабли? Если что, могу еще описать поподробнее...
Re: Немодальный диалог - ошибка после повторного вызова
От: Brand_STEP_LVIV_UA Украина  
Дата: 19.04.07 09:00
Оценка:
Удалено избыточное цитирование. Исправлено форматирование текста. — SchweinDeBurg

Здравствуйте, mig_23, Вы писали:

_>Куда делся элемент управления (в данном случае это — edit box), если он — на месте в окне диалога, идентификатор — его? Может, некорректно удаляю данные или окно диалога после первого вызова? Создаю диалог функцией Create, удаляю — DestroyWindow...


ето надо смотреть куски кода, попробуй создать его динамически и будеть чтото на подобе:

CMyDialog* p_MDlg = new CMyDialog;
p_MDlg->Create(IDD_DIALOG1,this);
p_MDlg->ShowWindow( SW_SHOW );
...
p_MDlg->ShowWindow( SW_HIDE );
p_Mdlg->DestroyWindow();
delete p_MDlg;

а вообще зачем тебе его уничтожать ? Просто прятать не подойдет ?
Re[2]: [от модератора]
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 19.04.07 09:05
Оценка:
Строгое предупреждение за оверквотинг.
- Искренне ваш, Поросенок Пафнутий
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.