Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.04;
Скачать: CL | DM;

Вниз

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

 
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;

И ВСЁ!!!!!!



Страницы: 1 вся ветка

Текущий архив: 2002.02.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
1-8869
Mr.Fox
2002-01-09 13:27
2002.02.04
Помогите плиз


1-8896
solsoft
2002-01-16 11:45
2002.02.04
Формат заголовок архиватора IMP


6-8965
Вован
2001-11-11 13:18
2002.02.04
Download files - как вытащить файл, переданный из формы HTML


3-8794
Godfather
2002-01-08 14:13
2002.02.04
Кодировка 1251 в BDE


14-8996
Antuan
2001-12-10 21:49
2002.02.04
Бил Гейтс похоронил Win 95