![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Доброго времени суток!
Возможно глупый вопрос. Имеется главная форма и форма ввода пароля, которая должна появляться перед главной формой. Какую форму нужно поставить главной, и как закрывать форму пароля в случае успешного ввода пароля? Спасибо. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Christoph |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
Отобрази вторую форму модально
и если пароль верный то
И у тебя модальная форма закроется -------------------- ![]() |
||||
|
|||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 1 Всего: 122 |
но будь внимателен.. при закрытии проекта совсем - надо закрывать ГЛАВНУЮ форму |
|||
|
||||
| Keeper89 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Как раз этот способ использую, и при закрытии 2 формы приложение не завершалось. Теперь буду из 2 формы "убивать" и главную. А нельзя сделать так:
или сделать так, чтобы приложение завершалось при закрытии последней формы? |
||||
|
|||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Вопрос не глупый, но думал что вы-то уж с гуглом на "ты".
показ формы первее главной Форма ввода пароля - это всего лишь форма ввода пароля, которая к главности не имеет никакого отношения. И в случае успешного ввода, и в противном случае наиболее логичным будет код Christoph, за одной оговоркой: после ModalResult=что-то_там форма ввода пароля будет уничтожена. После ее уничтожения обращаться к ней (и к результатам ее работы, всяким LoginForm.EditLogin.Text) НЕЛЬЗЯ. Поэтому сразу по отработке формы авторизации нужно сохранить имя пользователя и пароль (в явном или уже преобразованном виде - не знаю, как у вас это сделано) куда-нибудь в глобальные переменные (к примеру), и использовать их уже оттуда. P.S. с кодом из FAQ для вашего случая лишние как минимум[скорее всего] таймеры с ProcessMessages, вполне возможно нужен ShowModal а не Show... в общем, поле для деятельности есть. Добавлено через 4 минуты и 57 секунд
Забыл сказать - имеется ввиду - из ее же кода, т.е. (например) в OnLoginButtonClick, рядом с ModalResult:=... Добавлено через 12 минут и 54 секунды Еще поправка - если OnClose формы пусто, или в нем в явном виде поставлено Action:=caFree |
|||
|
||||
| Keeper89 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
kami, спасибо за расстановку всех точек над i
P.S. После небольшой "операции" в dpr-файле пропала возможность выбрать Form1 в качестве главной, а Form2 (парольная форма) можно. Как можно это исправить? Добавлено через 2 минуты и 10 секунд
Т.е. в OnClose добавить Action:=caFree? Добавлено через 7 минут и 12 секунд
Это сообщение отредактировал(а) Keeper89 - 6.5.2009, 01:14 |
||||
|
|||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Плюс к предыдущим:
Как объявить глобальную переменную и где, когда создана только форма ввода пароля? Это сообщение отредактировал(а) Keeper89 - 6.5.2009, 02:45 |
|||
|
||||
| kami |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Чегой-то я возможно не то сказал по поводу уничтожения формы логина.
Вечером поэкспериментирую. Убрать все лишнее, подсмотреть в "чистом" dpr файле последовательность операторов. должно быть как-то так:
Создана-то только она, а вот инициализация модулей уже прошла (хотя даже она тут ни при чем). в форме ввода логина:
в UnitMain:
|
||||||
|
|||||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Спасибо, так и сделал. Добавлено через 2 минуты и 58 секунд Всем спасибо за обсуждения! Совместил подход kami с вот этим методом, получилось очень даже неплохо. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |