Главная страница
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.47 MB
Время: 0.036 c
6-80067
vitalyIshim
2003-12-16 09:39
2004.02.25
Proxy


14-80135
IIStan
2004-02-02 01:25
2004.02.25
Где можно купить неонувую лампу?


1-79770
Grinder
2004-02-11 22:23
2004.02.25
Radio Button


14-80273
BlackLord2003
2004-02-04 09:12
2004.02.25
MyDoom


1-79808
DimonNew
2004-02-11 12:36
2004.02.25
создание формы