![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
хммм... как объяснить то... создавать имелось ввиду не заного кидать все контролы и прочие компоненты.
у тебя сейчас происходит следующее: при запуске программы программа создает твое окно в памяти. при попытке 1 раз его открыть оно откроется, при закрытии у тебя стоит caFree говорящее о том что необходимо при закрытии формы удалить ее из памяти. при повторно открытии ее просто нет в памяти вот и программа у тебя и выдает ексепшен. выходы написаны выше. вообще не понятно зачем ты делаешь caFree ? |
|
#17
|
||||
|
||||
|
Цитата:
Хмм.. создавать типа так Код:
procedure TMainForm.N2Click(Sender: TObject);
begin
CreateChildForm ('Работники');
end;
procedure TMainForm.CreateChildForm(const childName : string);
var
Child: TForm2;
begin
Form2 := TForm2.Create(Application);
Form2.Caption := childName;
end;Последний раз редактировалось RusSTEEL, 29.03.2011 в 12:46. |
|
#18
|
|||
|
|||
|
Хмм... т.е. вы делаете MDI формы? правильно вас понял?
если да то без caFree ни как. как самый простой вариант: на кнопку с открытием формы2 пишем за место show Код:
Application.CreateForm(TForm2, Form2); а вообще почитайте про создание MDI приложений. |
|
#19
|
||||
|
||||
|
[quote=Black Raider]Хмм... т.е. вы делаете MDI формы? правильно вас понял?
если да то без caFree ни как. как самый простой вариант: на кнопку с открытием формы2 пишем за место show Код:
Application.CreateForm(TForm2, Form2); ![]() а есть аналог "ShowModal" только при создании формы, чтобы предыдущая была неактивна?) Последний раз редактировалось RusSTEEL, 29.03.2011 в 13:01. |