![]() |
|
|
![]()
|
|
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Я перед открытием главной программы вызываю в событии OnCreate главной формы вспомогательную форму для ввода пароля. Там есть две кнопки - проверка пароля (вход) и выход. При нажатии кнопки "Выход" надо прекратить загрузку главной формы. Form1->Close() не работает, форма все равно загружается. Как этого избежать (т.е. как прекратить загрузку проекта, если нажата кнопка выхода)?
|
|||
|
||||
| Slayers |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 17.7.2005 Где: Харьков Репутация: нет Всего: 1 |
Попробуй Application->Terminate();
|
|||
|
||||
| szz |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 1 Всего: 33 |
Ага, и это убьет всю программу. Человеку надо только форму закрыть, не так ли? Добавлено @ 00:22 А, простите, "прекратить загрузку проекта" не заметил... Заработался я сегодня... --------------------
|
||||
|
|||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 6 Всего: 211 |
Извращенство какое то Давайте все же что нибудь более гуманное...убивать процесс, причем собственный не есть хорошо...зачем убивать что либо если есть способ просто красиво прекратить его существование...эфтаназия ! На диалоге с для ввода пароля ставишь на кнопку OK ModalResult mrOk на Cancel соответсвенно mrCancel. При показе диалог делаешь что то наподобие
Не помню сейчас, билдера нет у меня, но Close в этом случае должен нормально закрывать. Если не закроет напиши, сегодня вечером посмотрю как у меня дома это сделано Я так думаю ты из формы ввода пароля пытался Close вызвать? ну конечно не заработает..как же твоя форма закроеться если у нее есть модальные формы открытые..закрой сперва, а потом закрывай основное окошко.. Это сообщение отредактировал(а) azesmcar - 11.10.2005, 08:09 |
||||
|
|||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Использрвание события OnCreate является не рекомедуемым для Builder. Для аналогичных целей лучше использоввать конструктор
Application->Terminate() вполне нормальное решение и эквиавлентно Closeт. Проблема в другом. Будет некоторое мелькание, если использовать OnFormClose. Форма все равно попытается откроется и тут же закроется. Это конечно не страшно но раздражает. Есть выход следующено плана: исключение в конструторе.
LoginDialog не должен закрываться, пока пользователь не зарегиструется. Это легко сзделать повесив проверку LoginDialog::FormCloseQuery(TObject *Sender, bool &CanClose) Тогда у пользователя остается два варианта: либо правильно зарегистрироваться используя сколько угодно поаыток, либо прервать процесс регистрации и при этом программа выкинет сообщение "User cancel registration process" -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Vyacheslav, как когда-то предлагали мне тут, смените мне звание на "Новичок". И пусть оно всегда таким остается. Я не понимаю ваших объяснений, это уже слишком сложно для меня.
Slayers, большое вам спасибо. С этой строчкой заработало. А это мелькание очень уж быстро происходит, чтобы оно начало кого-то раздражать. Это сообщение отредактировал(а) sim7 - 11.10.2005, 19:50 |
|||
|
||||
| Slayers |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 17.7.2005 Где: Харьков Репутация: нет Всего: 1 |
Всегда рад помочь
|
|||
|
||||
| Vyacheslav |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Во-первых, я не могу поменять Ваш профиль. Во-вторых, Вы не обижайтесь, но что я понять не могу так это Вашу методику обучения. Когда обучаются, обычно начинаю с прочтения литературы, например со Страструпа и знакомства со стандартом. Если Вы это прочли то мой код должен быть понятен. Вам было достаточно повторить его у себя предварительно адаптировав к своим условиям и проверить, что получится. Разобрать в дебагере как это работает и решить подходит ли это Вам или нет.А при разборе данного кода Вы бы узнали, что такое исключения, зачем применяется auto_ptr и про особенности генерации исключения в конструкторе А Вы
Естественно. Но программирование - это не такое уж простое дело( естественно, если имеется в виду качественное программирование). А признать, что это "слишком сложно" - последнее дело. К сожалению, у Вас - это входит в систему. Напомнить Вам, чем закончилось обсуждение поиска при Вашем подходе:
-------------------- С уважением, Вячеслав Ермолаев |
||||||
|
|||||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |