| Код | /*Модальную форму можно создать и удалить в той же области действия, что гарантированно предотвратит утечку памяти. Для этого форма не должна создаваться автоматически. С этой целью необходимо удалить ее из списка AutoCreate Forms вкладки Forms диалогового окна Project --> Options. Затем из файла с расширением .cpp удаляется или комментируется строка:
TFormX * FormX; а из файла с расширением .h удаляется или комментируется строка:
extern PACKAGE TFormX * FormX; Для использования модальной формы создается следующая конструкция:*/
#include <memory>
std::auto_ptr<TFormX> apfrmForm(new TFormX(0/*this*/)); /*debug*/assert(NULL != apfrmForm.get());
int iRes = apfrmForm->ShowModal(); switch (iRes) { case mrOk: { ShowMessage(_T("mrOk")); } break; case mrCancel: { ShowMessage(_T("mrCancel")); } break; //mrNone, mrOk, mrCancel, mrAbort, mrRetry, mrIgnore, mrYes, mrNo, mrAll, mrNoToAll, mrYesToAll default: { /*DEBUG*/assert(true); } break; }
|
??? |