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

как корректно закрыть формочку?   Найти похожие ветки 

 
natasha ©   (2003-05-15 14:28) [0]

Народ, помогите чайничку, pls!

Пишу диплом на Delphi6, не могу понять почему некорректно закрываются MDI Child формы в приложении кнопкой «Выход», первый раз закрывается, как правило, нормально (системы в появлении и очередности сообщений об ошибках не могу выявить), без всяких сообщений об ошибке, второй раз – class EAccessViolation with message «Access violation at address ……. (адреса каждый раз разные) in module Project.exe. Read of address …….», следующий раз – class EAbstractError with message «Abstract Error». Нажатием на close в системном меню формы закрывается без проблем сколько бы раз подряд не закрывалось. Procedure FormClose и Procedure ButtonExit.Click абсолютно идентичны и включают, кроме закрытия запросов и таблиц, FormDestroy, подозреваю, что проблема именно в этом, но не могу включить туда FormHide т.к. нельзя скрыть MDI Child форму. Заранее благодарна всем ответившим.


 
Zacho ©   (2003-05-15 14:42) [1]

Формы создаются динамически ? Тогда в OnClose форм просто сделать Action:=caFree; и нигде больше Free для этих форм не вызывать.


 
clickmaker ©   (2003-05-15 16:00) [2]

Form.Destroy не стоит явно вызывать. Form.Close, а дальше, как Zacho сказал


 
natasha ©   (2003-05-15 16:15) [3]

Формы создаются динамически. С Action пробовала, не получается, попробую еще покрякаться. Спасибо за ответ.


 
VladP   (2003-05-15 17:03) [4]

procedure FrmChild.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;

С Action должно получаться.


 
Viktor   (2003-05-15 18:27) [5]

FrmChild := nil

а при вызове проверь
if not Assigned(FrmChild) then
Application.CreateForm(TFrmChild, FrmChild);


 
natasha ©   (2003-05-15 18:57) [6]

Ребята, спасиьо огромное, все заработало!


 
Zacho ©   (2003-05-15 21:48) [7]


> natasha © (15.05.03 18:57)

И еще один небольшой советик: не используй автоматически сгенерированные Дельфи глобальные переменные (типа var Form1:TForm1) для динамически создаваемых MDIChid форм. По крайней, мере пока не будешь уверена, что тебе это нужно, и ты знаешь, как оно работает.



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

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



Память: 0.46 MB
Время: 0.013 c
14-83662
gn
2003-05-05 13:32
2003.05.26
Попытка номер 2


4-83801
bobo
2003-03-25 19:06
2003.05.26
Как сделать ПЛАВНУЮ прокрутку в Rich Edit control ?


14-83741
Renegate
2003-05-07 14:35
2003.05.26
Epson 680.


14-83650
Dimaz-z
2003-05-02 20:48
2003.05.26
Как уменьшить размер оперативной памяти, занимаемый программой?


1-83484
NetKnight
2003-05-15 14:12
2003.05.26
Drag and Drop




   Наверх