Вниз
Скачать: CL | DM;

создание формы   Найти похожие ветки 

← →
DimonNew ©   (2004-02-11 12:36) [0]

У меня вопрос. Я создал аналог функции InputQuery, с добавлением своих компонентов на форму для пароля и логина. Вызываю свою функцию в ADOConnection.OnWillConnect. А открываю ADOConnection в OnCreate главной формы. При не правильном пароле или логине или нажатии кнопки отмена уничтожаю главную форму, в результате она уничтожается, но она на короткий момент показывается. Неужели нужно делать форму с паролем главной, чтобы проверять пароль и логин до создания главной формы? Хотелось бы проверить пароль и логин до создания главной формы, чтобы в случае неудачи вообще не создавать ее. Помигите, пожалуйста.


← →
Amoeba ©   (2004-02-11 12:39) [1]

Создавай и показывай ее в *.dpr, а в случае неудачи вызывай Application.Terminate.


← →
DimonNew ©   (2004-02-11 12:41) [2]

Я как раз Application.Terminate и использую.


← →
Юрий Федоров ©   (2004-02-11 13:21) [3]

вариант 1
Application.ShowMainForm:=False;
вариант 2
вызывай функцию "ааналог InputQuery" в *.dpr в самом начале до каких-либо других действий
Если что-то не так - просто по if обойди строки
Application.Initialize... Application.Run


← →
Тимохов ©   (2004-02-11 13:24) [4]


> Application.Initialize

Ну это то лучше не обхоидить имхо.
Вот Application.run обойти - милое дело


← →
Sandman25 ©   (2004-02-11 13:27) [5]

Application.Initialize;
// DataModule
Application.CreateForm(TdmDatabase, dmDatabase);
with dmDatabase do
begin
LoadIniStringsFromFile;
LoadAndSetConnectionParams;
// попытка соединения
if not Connect then
exit;
end;
Application.CreateForm(TFSprOperExe, FSprOperExe);
Application.Run;
end.

....
function TdmDatabase.Connect(TerminateApplication: boolean = true): boolean;
begin
repeat
try
TryConnect;
except
on E:ECancelledConnectionException do
begin
if TerminateApplication then
Application.Terminate;
Result := false;
exit;
end;
on E:Exception do
begin
Application.MessageBox(PChar(E.Message),
sConnectionErrorCaption, MB_ICONERROR);
if TerminateApplication then
Application.Terminate;
Result := false;
exit;
end;
end;
until Connection.Connected;
Result := True;
end;

procedure TdmDatabase.TryConnect;
begin
with Connection do
begin
Close;
Open;
end;
end;

// OnLogin
procedure TdmDatabase.ConnectionLogin(Database: TSQLConnection;
LoginParams: TStrings);
begin
if not GetLoginParams(LoginParams) then
begin
raise ECancelledConnectionException.Create("");
end;
end;


← →
DimonNew ©   (2004-02-11 14:46) [6]

Спасибо!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-79847
Серёга
2004-02-10 18:55
2004.02.25
Файлы *.dcu


1-79737
BALU1111
2004-02-12 11:53
2004.02.25
Шифрование данных


3-79547
Марат
2004-01-30 08:31
2004.02.25
TDBLookupComboBox


14-80156
Petr V. Abramov
2004-02-01 17:19
2004.02.25
Аргументы за переход на .NET


1-79750
JaoDaoDzen
2004-02-14 12:31
2004.02.25
привязка расширения файла к своей программе




   Наверх