![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите, где поставить проверку...
NY152 © (2002-01-15 09:59:00)Где поставить проверку и как чтобы при старте программы при неправильном введении кода программа бы не запускалась ?
Я попробовал на событие "onCreate" главной формы, но если ставишь там оператор "close" программа всё равно запускается =(((
Спасибо...
Boris (2002-01-15 18:21:00) [1]olban прав!
Я делаю следующим образом:
program KurtLaukel;
uses
Forms,
LaukelLagerstand in "LaukelLagerstand.pas" {fMainForm},
SetUser in "SetUser.pas" {fUser},
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TfUser, fUser);
Application.CreateForm(TfMainForm, fMainForm);
Application.Run;
end.
В проекте первой появляется форма fUser
пользователь вводит свои аттрибуты. Проверяем.
если все окей то
fUser.Visible:=False;//просто ее с глаз долой
fMainForm.Show; //никаких терминате
если нехороший человек то просто
fUser.close
При окончании работы честным человеком. В модуле fMainForm
закрыть fUser
procedure TfMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
fUser.Close;
end;
И ВСЁ!!!!!!
olban (2002-01-15 14:53:00) [2]Не надо никаких Terminate, Это все равно, что ломать что-нибудь.
Все правильно, в модуле проекта создаем свою форму, типа проверки пароля, запускаем и проверяем результат. Если нас все удовлетворяет, то создаем основную форму и запускаем приложение, иначе не надо ничего делать, программа сама закроется, так как выполнять больше нечего. В примере выше надо просто еще сделать LoginForm.Free в любом случае, чтобы освободить от него память. Все
kserg@ukr.net (2002-01-15 13:10:00) [3]>Владислав - спасибо за совет
Владислав (2002-01-15 12:54:00) [4]> kserg@ukr.net (15.01.02 12:33)
но вот только главная форма всё равно дёргается
(что-то на экране мелькает).
Application.ShowMainForm:=False;
Application.Terminate
AlexSV (2002-01-15 12:36:00) [5]Лучше всего в модуле проекта .dpr:
program Project1;
uses
Forms,
fLogin in "fLogin.pas" {LoginForm},
fMain in "fMain.pas" {MainForm},
// остальные модули ...,
;
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TLoginForm, LoginForm);
if LoginForm.ShowModal = mrOK then begin
Application.CreateForm(TMainForm, MainForm);
// остальные модули ...,
Application.Run;
end else
Application.Terminate;
end.
Приблизительно так.
Писал с листа, так что если где не так, то пиши на Mail, подскажу.
kserg@ukr.net (2002-01-15 12:33:00) [6]
У меня сделано как советует >Владислав:
в OnCreate после проверок вывожу сообщение юзеру
о том, что "лезет" без нужных прав, а затем
Application.Terminate обрывает загрузку проги,
но вот только главная форма всё равно дёргается
(что-то на экране мелькает).
Как это побороть?
Владислав (2002-01-15 10:30:00) [7]В обработчике OnCreate:
Application.Terminate
Turalyon (2002-01-15 10:06:00) [8]Поствь close на событие FormShow.