![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Завершение работы программы [D6, WinXP]
ИгорьК © (2002-12-24 14:10:00)Привет!
При входе в программу спрашиваю login и password у юзера в отдельной форме. Если юзер нажимает кноку "Отмена", то прога должна завершить свою работу. Делаю так:
procedure TbtnCancel.OnClick(Sender: TObject);
begin
Application.Terminate;
end;
Но программа продолжает работать дальше, как будто я нажал ОК!!!
Смотре отладчиком, заходит сюда, отрабатывает, но все равно идет дальше! Что не правильно?
Юрий Зотов (2002-12-24 14:35:00) [21]Application.Terminate не сработает до вызова Application.Run, а этот вызов происходит ПОСЛЕ создания главной формы.
Судя по всему, причина в этом и есть. Используйте Halt или Exit - смотря где и как Вы показываете форму логина.
ИгорьК (2002-12-24 14:22:00) [22]BALU1111: Нет, прога именно продолжает работать, т.е. доходит до коннекта к базе, но т.к. login и password не заданы там ругается на коннект и все, но запускается и показывает главную форму.
Reindeer Moss Eater (2002-12-24 14:19:00) [23]Вообще-то, насколько знаю, application.terminate закрывает программу безприкословно
А не догадываешься, каким образом у ИгорьК на экране появилась форма с вводом пароля?
:)
viper (2002-12-24 14:17:00) [24]if log.ShowModal= mrOk then SetForegroundWindow(CoresForm.Handle);
else coresform.Close
BALU1111 (2002-12-24 14:17:00) [25]Вообще-то, насколько знаю, application.terminate закрывает программу безприкословно. Но в данном случае я не пойму почему.
Можно попробывать Close с проверкой на Closequery. Может прога просто подвисает.
Reindeer Moss Eater (2002-12-24 14:14:00) [26]>Прохожий
и что изменится?
прохожий (2002-12-24 14:11:00) [27]вместо Application.Terminate; надо написать close;
p.s. мне бы ваши проблемы... :(((