Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Завершение работы программы [D6, WinXP]


Страницы:   1 2

ИгорьК ©   (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. мне бы ваши проблемы... :(((


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо