Вниз
Скачать: CL | DM;

Закрытие дочерней формы   Найти похожие ветки 

 
dimaL   (2007-08-03 11:08) [0]

Возник такой вопрос: на дочерней форме находися кнопка с обработчиком:
Close;.
Иногда закрывается нормально, иногда с ошибкой: Abstract error или Access violation. В чем может быть причина?


 
Сергей М. ©   (2007-08-03 11:09) [1]


> В чем может быть причина?


В чем угодно, но только не в вызове Close.


 
JanMihail ©   (2007-08-03 11:16) [2]

Причина не в Close, выложи код, посмотрим


 
dimaL   (2007-08-06 03:06) [3]

Еще в OnCLose находится код: Form1.Free;
и в OnDestroy Form1:=nil;. Больше критических мест нет.


 
Германн ©   (2007-08-06 03:34) [4]


> dimaL   (06.08.07 03:06) [3]
>
> Еще в OnCLose находится код: Form1.Free;
>

Ну да. Нож в брюхо - самый верный способ покончить со своим врагом!
Но, имхо, для "самоубийства" стОит выбрать более мягкий вариант :)


 
dimaL   (2007-08-06 06:01) [5]


> Германн ©

Не совсем понятно!


 
Loginov Dmitry ©   (2007-08-06 07:34) [6]

В OnClose ты вызовом Form1.Free; разрушаешь объект. Это все-равно, что насморк лечить средствами херакири.
Единственный правильный свособ уничтожить немодальную форму VCL сразу после закрытия - в OnClose задать Action := caFree;


 
Ping   (2007-08-06 07:45) [7]

И вообще, вызывать напрямую метод Free формы - от лукавого.
Для этого, как минимум, Release есть.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
15-1185894733
ЮТК
2007-07-31 19:12
2007.08.26
О ЮТК


2-1184735772
Барин
2007-07-18 09:16
2007.08.26
ServerSocket


15-1185783063
AlinaVK
2007-07-30 12:11
2007.08.26
Перевод проекта на .Net


3-1178515489
dolmat
2007-05-07 09:24
2007.08.26
ADO избавиться от пароля


1-1182154931
LeoTon
2007-06-18 12:22
2007.08.26
Динамическое копирование частей форы из DLL




   Наверх