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

Вниз

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

 
NovaPS ©   (2004-06-28 20:56) [0]

В неком потоке возникает ошибка. Производится ее перехват и обработка. Далее в MessageBox пользователь выбирает проигнорировать и идти дальше или закрыть программу.
С первым случаем проблем нет, а вот со вторым (закрыть программу) возникли проблемы, т.е. программа ни в какую не хочет закрываться.

Пожалуйста объясните как это можно сделать?
Заранее благодарен.

Код:
...
 { Thread class description }
 TLEThread = class(TThread)
...
 protected
   procedure Execute; override;
 end;

 procedure CloseApp; forward;

var
 LEForm: TLEForm;
 LEThread: TLEThread;

...

procedure TLEForm.ProceedBtnClick(Sender: TObject);
begin
 if ThreadIsRunning = false then
 begin
   LEThread := TLEThread.Create(True);
   LEThread.Priority := tpIdle;
   LEThread.FreeOnTerminate := True;
   LEThread.Resume;
 end;
end;

procedure TLEThread.Execute;
...
   try
     LEForm.FTPClient.Get(LnksHostSitePath + TMPStr, LnksLocalPath + TMPStr, True);
   except
     on E: Exception do ErrMsg(E.Message, FTPCurHost, LnksHostSitePath + TMPStr, 3);
   end;

...
end;

procedure TLEThread.ErrMsg(ErrorText, Host, FName: String; PhaseType: Integer);
...
 MBoxResult := MessageBox(0, PChar(MsgText), "Произошла ошибка!", MB_OKCANCEL);
 if MBoxResult = 2 then CloseApp;

end;

procedure CloseApp;
begin
 LEThread.Suspend; ???
 LEThread.Terminate; ???
 LEThread.Free; ???
 LEForm.Close; ???
end;

end.


 
Mim1 ©   (2004-06-28 21:59) [1]

Application.treminate в sincronyze;
или
TerminateProcess(getcurrentprocess);


 
NovaPS ©   (2004-06-28 22:04) [2]

Спасибо, помогло.



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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
1-1088526545
Николай
2004-06-29 20:29
2004.07.11
Получить кусок строки


14-1087727495
Nic
2004-06-20 14:31
2004.07.11
Я обновил его


1-1088162833
AlexXn
2004-06-25 15:27
2004.07.11
ASPack


1-1088061880
Alfer
2004-06-24 11:24
2004.07.11
Internal error L470


14-1087825949
Terminator
2004-06-21 17:52
2004.07.11
Кто-нибудь в курсе: "Седьмое небо" уже открыли или ещё нет?