Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Вниз

Подскажите, где поставить проверку... 


NY152   (2002-01-15 09:59) [0]

Где поставить проверку и как чтобы при старте программы при неправильном введении кода программа бы не запускалась ?
Я попробовал на событие "onCreate" главной формы, но если ставишь там оператор "close" программа всё равно запускается =(((
Спасибо...



Turalyon   (2002-01-15 10:06) [1]

Поствь close на событие FormShow.



Владислав   (2002-01-15 10:30) [2]

В обработчике OnCreate:
Application.Terminate



kserg@ukr.net   (2002-01-15 12:33) [3]


У меня сделано как советует >Владислав:
в OnCreate после проверок вывожу сообщение юзеру
о том, что "лезет" без нужных прав, а затем
Application.Terminate обрывает загрузку проги,
но вот только главная форма всё равно дёргается
(что-то на экране мелькает).
Как это побороть?



AlexSV   (2002-01-15 12:36) [4]

Лучше всего в модуле проекта .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, подскажу.



Владислав   (2002-01-15 12:54) [5]

> kserg@ukr.net (15.01.02 12:33)

но вот только главная форма всё равно дёргается
(что-то на экране мелькает).


Application.ShowMainForm:=False;
Application.Terminate



kserg@ukr.net   (2002-01-15 13:10) [6]

>Владислав - спасибо за совет



olban   (2002-01-15 14:53) [7]

Не надо никаких Terminate, Это все равно, что ломать что-нибудь.
Все правильно, в модуле проекта создаем свою форму, типа проверки пароля, запускаем и проверяем результат. Если нас все удовлетворяет, то создаем основную форму и запускаем приложение, иначе не надо ничего делать, программа сама закроется, так как выполнять больше нечего. В примере выше надо просто еще сделать LoginForm.Free в любом случае, чтобы освободить от него память. Все



Boris   (2002-01-15 18:21) [8]

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;

И ВСЁ!!!!!!




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.028 c
1-8940            TAN                   2002-01-18 09:57  2002.02.04  
как поставить курсор в конец строки


7-9008            Vitaliy Jungle        2001-10-13 05:42  2002.02.04  
Гребаный MSDOS


1-8859            kaif                  2002-01-21 03:56  2002.02.04  
MDI и WindowMenu ???


7-9005            AlikRyazan            2001-10-25 18:12  2002.02.04  
Модем


1-8830            ТеньЛуны              2002-01-15 11:14  2002.02.04  
Пару дней назад...