Надо больше спать...
От: Sheridan Россия  
Дата: 29.11.06 06:08
Оценка: +1 -1 :))) :)))
Вчера блин полчаса убил на поиск ошибки.
Пишу на кутэ. Рисую базовый класс диалогов, наследуясь от QDialog. Модальность прикрутил сразу, пытаюсь сделать немодальное. И тут засада. модальные окна по show() работают, немодальные тутже закрываются (причем понял это не стразу — уж очень быстро закрывались). Уж какие я токо флаги не поиспробывал, что тока не делал... Ни в какую. Плюнул, пошел покурил. Вернулся, жму на в редакторе вкладку .h файла, промахиваюсь мимо — попадаю на вкладку другого исходника, где перед глазами код вывода диалога. И что же вы думаете?:
CDlg * dlg = new CDlg(this);
dlg->show();
delete dlg;

Close. Power. Свет. Подушка. Ибо имхо продолжать было опасно...

[RSDN@Home][1.2.0][alpha][668]
[В сражениях за истину последняя участия не принимает. [Авессалом Подводный]]
Matrix has you...
Re: Надо больше спать...
От: VadimB Россия  
Дата: 29.11.06 07:50
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>
S>CDlg * dlg = new CDlg(this);
dlg->>show();
S>delete dlg;
S>

S>Close. Power. Свет. Подушка. Ибо имхо продолжать было опасно...

мдя... у мну тож такое было, когда из немодального надо было сделать модальный...
{
myDlg dlg;
dlg.show();
}

Re: Надо больше спать...
От: Andrew S.  
Дата: 29.11.06 15:28
Оценка: :)
S>
S>CDlg * dlg = new CDlg(this);
dlg->>show();
S>delete dlg;
S>

S>Close. Power. Свет. Подушка. Ибо имхо продолжать было опасно...

Умными указателями надо пользоваться, чтобы само уничтожалось при выходе из области видимости :-D
...супер-умными — чтобы ВСЕ само уничтожалось... сразу после создания! :-D
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.