Форум: "Основная";
Текущий архив: 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;
И ВСЁ!!!!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c