![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
help meee
Romm © (2007-04-14 17:42:00)На этот раз не могу додуматься как осуществить проверку пароля, т.е.
Есть главная форма и форма проверки пароля. Как бы мне показать форму проверки пароля ДО появления главной формы??
если сделать так:
procedure TMainForm.FormShow(Sender: TObject);
begin
PasswordDlg.ShowModal;
end;
то при вводе неправильного пароля делаю Application.Terminate ->> мерцание главной формы, которая появляется и тут же умирает...
Посоветуйте ченидь
Romm (2007-04-15 10:23:00) [21]Хе-хей.. получилось. Сделал так:
procedure TPasswordDlg.OKBtnClick(Sender: TObject);
begin
if (Password.Text=pass_1) or (Password.Text=pass_2) or (Password.Text=pass_3) then
begin
pas:=2;
Close;
end;
end;
PasswordDlg:=TPasswordDlg.Create(nil);
PasswordDlg.ShowModal;
PasswordDlg.Repaint;
if PasswordDlg.pas=2 then
begin
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TOptionForm, OptionForm);
Application.CreateForm(TEditIPForm, EditIPForm);
Application.CreateForm(TSendMesForm, SendMesForm);
Application.Run;
end
else
Application.Terminate;
всем спасибо!
Romm (2007-04-15 09:55:00) [22]
> В файле проекта создавать форму пароля первой вручную, после
> чего в зависимости от результата или создавать остальные,
> или отбрыкиваться
"вручную" - это НЕ Application.Create?? Хотя да, если таким методом, то форма проверки пароля станет главной... уу, а тогда как? :)
DrPass (2007-04-14 21:28:00) [23]
> {RASkov} (14.04.07 21:27) [6]
Логично. Поэтому я и советую сунуть в OnCreate :)
{RASkov} (2007-04-14 21:27:00) [24]>
> MainForm.Visible:= false;
На OnShow будет:
Cannot change Visible in OnShow or OnHide
:)
DrPass (2007-04-14 21:20:00) [25]
> MainForm.Hide;
> Application.Terminate
MainForm.Visible:= false;
Application.ShowMainForm:= false;
Application.Terminate;
... И засунуть это можно хоть в OnCreate главной формы
Desdechado (2007-04-14 21:18:00) [26]В файле проекта создавать форму пароля первой вручную, после чего в зависимости от результата или создавать остальные, или отбрыкиваться.
{RASkov} (2007-04-14 20:39:00) [27]В твоем варианте можно и так извернуться, но это не выход и не так лучше делать.
procedure TMainForm.FormShow(Sender: TObject);
begin
PasswordDlg.ShowModal;
width:=0;
Height:=0;
close;
end;
{RASkov} (2007-04-14 20:34:00) [28]> MainForm.Hide;
Хотя на OnShow такое не прокатит...
{RASkov} (2007-04-14 20:32:00) [29]Например
MainForm.Hide;
Application.Terminate;
или еще лучше пересмотреть/переделать организацию запроса пароля. Например, создавать окно запроса пароля до создания главной формы и если че не так, то и главную уже не создавать...