Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Закрытие дочерней формы


Автор: santey 4.11.2011, 21:31
Имеются две формы: главная и дочерняя. Из главной формы вызываем дочернюю 

Код

   Application->CreateForm(__classid(TForm2),&Form2);Form2->ShowModal();


На дочерней форме стоит кнопка при нажатии которой

Код

void __fastcall TForm2::Button1Click(TObject *Sender)
{
   Form2->Close();
}


Но при первом нажатии ничего не происходит, а при втором нажатии закрывается главная и дочерняя одновременно.

Первый раз такое, что за бред, может кто знает?

Как закрыть с первого нажатия дочернюю форму, чтобы главная осталась открытой?

C++ Builder2010

Автор: 586 5.11.2011, 02:02
Цитата(santey @  4.11.2011,  22:31 Найти цитируемый пост)
Имеются две формы: главная и дочерняя. Из главной формы вызываем дочернюю    
Код
Application->CreateForm(__classid(TForm2),&Form2);Form2->ShowModal();

Обычно, вторая форма уже создана, и её остаётся только показать:
Код
Form2->ShowModal();

Не нужно вызывать Application->CreateForm.

Автор: iDeus 5.11.2011, 06:13
 Ctrl+Shift+F11 -> Forms, здесь можно посмотреть, есть ли дочерняя форма в списке Auto-create forms.

Автор: xvr 7.11.2011, 16:10
Модальные формы закрываются не через Close, а через присваивания значения проперти ModalResult

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)