Вниз
Скачать: 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.015 c
15-1185425198
Zeqfreed
2007-07-26 08:46
2007.08.26
Как приятно то :)


15-1185782087
TStas
2007-07-30 11:54
2007.08.26
Не планируется ли ММП?


2-1186173219
Johnnnn
2007-08-04 00:33
2007.08.26
Как прекратить выполнение кода?


2-1185733123
__Types
2007-07-29 22:18
2007.08.26
Удалить часть.


4-1173266962
Vermouth
2007-03-07 14:29
2007.08.26
Список типичных задач в папках (XP)




   Наверх