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

Вниз

Правильно запустить форму для проверки пароля   Найти похожие ветки 

 
Vovan123+   (2007-01-09 08:12) [0]

День добрый. Вопрос по-моему не сложный, но сообразить чего-то не могу.
Вообщем нужно вывести форму для проверки пароля до отображения гл. формы. На ней проверка доступа (сами компонеты Tdatabase, проставляются параметры USER NAME и PASSWORD + connect). Проблема в следующем. Призагрузке гл. формы включается connect и выдается ошибка. Если сделать форму для пароля главной, то при закрытии ее закроется и приложение. Пробовал на событие Create гл. формы создавать программно форму для паролей через
frmLogin := TfrmLogin.Create(nil);
frmLogin.Showmodal;
, a на onShow базы коннектить
Вроди бы работает, но после закрытия приложения ехе висит процессах. Нехорошо это. Может подскажете как грамотно убить frmLogin. Может вообще для проблемы грамотное решение существует. Специальные компоненты использовать неохота (RXLogindialog например). К стилю приложения не подходят.
Спасибо заранее.


 
Megabyte ©   (2007-01-09 10:07) [1]

Стоп. Ты объясни, нафига для связи с MSSQL используешь стандартные компоненты?
Зачем изобретать велосипед? Включи свойство LoginPrompt у ADOConnection и не надо никакой доп. формы не надо...


 
Плохиш ©   (2007-01-09 11:00) [2]


> Vovan123+   (09.01.07 08:12)  

Один из вариантов:
dpr

.....
begin
 Application.Initialize;
 Application.CreateForm(TDM, DM);
 if DM.Connected then
 begin
   Application.CreateForm(TfrmMain, frmMain);
   Application.Run;
 end;
end.

В OnCreate модуля данных TDM производишь подключение к бд с использованием своей формы. Новое свойство Connected возвращает TRUE, если подключение к бд установлено.


 
Vovan123+   (2007-01-09 11:52) [3]

Megabyt-y Проблема в том что у меня три базы  и три раза прийдется вводить пароль через логин промт? я пробовал после первого коннекта из параметров первой базы копировать пароль и логин и вставлять в 2 и3, но он пустые значения вместо строк выдергивает и  через , пути к базам в одном компонете, но не получилось, может неправильно прописывал?

Плохишу. Спасибо. Сейчас попробую. Компонеты database на DM прийдется размещать. После закрытия DM коннекты не исчезнут? Ну да ладно самый простой способ узнать -   попробовать. Спасибо. Кстати если это один из вариантов может еще какой-нибудь подскажешь?


 
Андреевич   (2007-01-09 12:50) [4]

Обычно, авторизацию запрашивают при создании модуля данных OnCreate. Если баз три, то три зарпоса - это логично. Другое дело, если пароли одинаковые. Но если хочешь своё окошко для ввода пароля, то:
1) Создать модуль данных (первый в списке создания форм), не открывать сессию, наборы данных
2) В событии OnCreate модуля данных: динамически создать форму для запроса пароля. Пароль записать в соответствующие свойства сессий. Открыть сессии. Удалить (Free) форму для запроса пароля.
3) Создать главную форму приложения (вторая в списке автосоздаваемых форм).

Не забудь try...except при открытии сессий на случай неверного пароля.


 
Vovan123+   (2007-01-09 13:54) [5]

Андреевич это все понятно. Пароль конечно один. Примерно так я и сделал. Форму для пароля я создаю на OnCreate динамически.  создавал через frmLogin := TfrmLogin.Create(nil); и через Application.CreateForm(TfrmLogin, frmLogin);. Открываю через ShowModal. иначе гл форма открывается сразу. Проблема по моему  правильно убить вот эту форму с паролем. Я в этом не очень силен. Пробовал и Hide с Free и Action:=caFree с FrmLogin:=nil;
После закрытия проги  она в процессах остается.


 
Плохиш ©   (2007-01-09 14:08) [6]


...
 frmLogin := TfrmLogin.Create(nil);
 try
   if frmLogin.ShowModal = mrOk then
   begin
      // Произвести подключение к базе...
   end;
 finally
   frmLogin.Release;
 end;
...



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

Форум: "Базы";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
2-1173264291
Nipel
2007-03-07 13:44
2007.04.01
позиция мыши в memo


15-1173612964
Kerk
2007-03-11 14:36
2007.04.01
Знатокам линукса


2-1173116922
Juri
2007-03-05 20:48
2007.04.01
mp3 не отдельным файлом


2-1173423319
zumm
2007-03-09 09:55
2007.04.01
Неподвижная форма


2-1173305867
ДжекиМайер
2007-03-08 01:17
2007.04.01
достучатся до свойств





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