Главная страница
    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.035 c
1-79857
Builder
2004-02-09 23:13
2004.02.25
Формы в dlls


3-79659
Zilog
2004-01-30 11:29
2004.02.25
DBGrig. Можно ли раскрасить строчки?


4-80371
DMichael
2003-12-16 10:50
2004.02.25
Процесс от имени другого пользователя


1-79900
MainKaif
2004-02-10 09:21
2004.02.25
Консольные команды.


14-80232
dr Tr0jan
2004-02-02 07:28
2004.02.25
Чат без основного сервера!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский