Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.12;
Скачать: CL | DM;

Вниз

программа расшибается при попытке закрытия   Найти похожие ветки 

 
zetta ©   (2002-08-02 10:59) [0]

проблема такая: запускаю процесс T2 (TThread) и он спокойненько себе выполняется, обновляя в форме w progressbar. Когда я нажимаю на крестик закрытия программы и отвечаю "No", программа падает на пузо и система выдает всем нам знакомое окошко с красным крестиком и кнопками "Close" и "Details..." "This program has performed an illegal operation and will be shut down. If the problem persists, contact the program vendor". Нажимаю на "Details...", а там пишут: invalid page fault in kernel32.dll.
При нажатии в моей программе на "Yes" все происходит хорошо: процесс закрывается, окно закрывается и программа закрывается без проблем. Вот процедура xit, которая привязана к w.Onclose:

procedure xit( Sender: PObj; var Accept: Boolean );
begin
accept:=msgbox("Terminate program?",MB_YESNO)=ID_YES;
if accept then begin t2.terminate;w.Close;halt; end else w.Update;
end;

Как вылечить?


 
Vladimir Kladov   (2002-08-03 14:38) [1]

xit или TMyObject.xit ? Это существенно.
Terminate будет убивать процесс без попытки подождать его легального завершения. Halt performs an abnormal termination of a program and returns to the operating system. Может, w.Close достаточно?


 
zetta ©   (2002-08-05 16:17) [2]

просто xit. привязывается так: w.OnClose:=TOnEventAccept(makemethod(nil,@xit));
отказ от halt не помог.


 
zetta ©   (2002-08-05 16:20) [3]

нужно именно экстренное прерывание процесса.



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

Текущий архив: 2003.05.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-34609
Катерина
2003-04-21 22:14
2003.05.12
Название произведения и автор по названиям глав


1-34430
Oleg__
2003-04-28 17:07
2003.05.12
WordApplication


14-34599
1g0r
2003-04-24 11:38
2003.05.12
Народ!!! Вот прет меня на API писать, даже не знаю что с собой де


8-34521
avlan
2003-02-01 10:58
2003.05.12
Определить PixelFormat картинки


1-34508
vajo
2003-04-30 09:13
2003.05.12
Создание новой формы с компанентами