Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.03 c
14-80164
ИМХО
2004-02-01 03:40
2004.02.25
Американские баксы, дядя Сэм и пр.


14-80137
SergP
2004-02-01 23:36
2004.02.25
Вопрос про кеширование


1-79867
Dr.Karter
2004-02-10 14:32
2004.02.25
Системное время


8-80023
Юрий Ёлкин
2003-10-26 22:10
2004.02.25
Как склеить два рисунка


3-79677
Santer
2004-01-30 13:54
2004.02.25
не могу состыковать Cyrr 866 и ANSI в одном запросе!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский