![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Друзья привет!
Помогите разобраться, есть приложение с множеством дочерних окон и нужно закрыть одно по умолчанию оно сворачивается пишу если от кнопки так... Код:
MDIChildren[i].Close; Потом с многочисленных источников последовал этому примеру (в моей интерпретации) этот код я ставил в дочернюю форму Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; При этом возникает исключение в строке выделенной жирным курсивом. В чем моя ошибка? Вроде и руки прямые и в голове не опилки Заранее большое спасибо. Последний раз редактировалось Paskal, 06.11.2010 в 22:29. |
|
#2
|
|||
|
|||
|
И где строка, выделенная жирным курсивом?
|
|
#3
|
||||
|
||||
|
Цитата:
На счет вопроса: попробуй вместо Close - Free использовать, то бишь просто уничтожай нужную форму, а когда надо ее заново показать - то создавай ее заново. |
|
#4
|
||||
|
||||
|
Код:
type
.....
procedure FormClose(Sender: TObject; var Action: TCloseAction);
.....
.....
.....
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;Код:
procedure TForm1.CreateClick(Sender: TObject);
begin
TForm2.Create(self);
end;
procedure TForm1.CloseClick(Sender: TObject); //Закрыть все окна
begin
for i:= 0 to MdiChildCount - 1 do
MDIChildren[i].Close;
end;Вот так вот - я сам проверил все пашет без проблем Последний раз редактировалось Electronic_Arts, 07.11.2010 в 01:33. |
|
#5
|
||||
|
||||
|
Electronic_Arts Огромный поклон и великое спасибо! Помог
|