Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Как закрыть ChildForm по кнопке которая на ней?   Найти похожие ветки 

 
Fom   (2004-02-10 17:07) [0]

MDI Application
Создаю дочерную форму в главной.

MyForm := TMyForm.Create(Application);


Как мне ее закрыть по кнопке, которая на ней

MyForm.Close;//Access violation...

Как это сделать, мастаки?


 
Игорь Шевченко ©   (2004-02-10 17:10) [1]

в FormClose Action:=caFree или caHide


 
кондратий   (2004-02-10 17:12) [2]

+
OnDestroy
form1 := nil


 
Юрий Зотов ©   (2004-02-10 17:13) [3]

Если в коде той же формы, которую надо закрыть, то просто Close.

Похоже, что у Вас стоит Action=caFree и после первого закрытия MyForm содержит битую ссылку. Тогда при втором она, естественно, дает Access Violation.

Вообще, возьмите зе правило стараться вообще не использовать глобальных переменных.


 
Fom   (2004-02-10 17:18) [4]

2 Юрий Зотов ©
Close; - так и сделал. Все работает. Но вот не пойму, а как к этой форме обращатся из других дочерных?

про глобальные спасибо, я еще и на С програмлю так писал не давно прогу - код большой(200 кб кода) и не использовал ни одной глобальной, ну и трудно же - все через ссылки :)


 
Fom   (2004-02-10 18:07) [5]

Мастаки, так как дочерней форме обратится из другой дочерней?


 
Юрий Зотов ©   (2004-02-10 19:03) [6]

> Fom (10.02.04 18:07) [5]

Можно использовать Screen.Forms.
Можно MDIChildren.
Можно завести свой список ссылок (см. TList, TObjectList).
Можно завести динамический массив ссылок (но список удобнее).

Главное - это две вещи:
1. Ссылка на каждую вновь сожданную форму должна храниться отдельно (а не перезатирать друг друга в одной переменной).
2. Когда форма уничтожена, должна уничтожаться и ссылка тоже (или хотя бы обнуляться).



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
14-80235
Ломброзо
2004-02-04 15:17
2004.02.25
Вопрос меломанам


1-79766
Excel
2004-02-11 10:18
2004.02.25
Как программно скрыть столбцы в Excel ?


9-79522
NailMan
2003-08-11 12:58
2004.02.25
Как сделать переходы между менюшками?


14-80094
Android
2004-02-03 07:49
2004.02.25
Vendorid and Deviceid


14-80205
IronHawk
2004-01-29 11:34
2004.02.25
TeamSource 6.0 задрал, глюки при Check In!