Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Вниз

Как закрыть 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.043 c
11-79685
Dimaxx
2003-06-03 00:06
2004.02.25
Как использовать битмапы у пунктов в MainMenu?


14-80180
Solom
2004-01-31 20:22
2004.02.25
компилятор не видит TTabStrings


3-79587
Sava
2004-02-02 16:03
2004.02.25
Проблема со нятием флага not null на поле


8-80041
kopcap
2003-10-21 14:51
2004.02.25
SwapBuffers()


3-79579
venus
2004-01-29 11:45
2004.02.25
Сортировка записей в БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский