Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
ВнизЗапуск формы перед другой Найти похожие ветки
← →
webpauk (2006-11-13 16:35) [0]Для входа на форму заполнения реквизитов(не основная) сначала надо заполнить пароль. На какое событие вешать запуск парольной формы. В зависимости от результата ввода пароля форма заполнения реквизитов или запускается или закрывается.
← →
KilkennyCat © (2006-11-13 16:37) [1]я тут подумал, и придумал:
наверное, есть какое-то событие, которое запускает форму реквизитов?
а что, если сделать гениальную вещь: вместо нее запустить форму пароля?
А из формы пароля запустить ее, если аутентифицировано?
← →
Рамиль © (2006-11-13 16:38) [2]fmMyPasswordForm.ShowModal
← →
KilkennyCat © (2006-11-13 16:38) [3]Вот только я не понял, вопрос это был, или оглавления из методички какой-то...
← →
KilkennyCat © (2006-11-13 16:39) [4]> [2] Рамиль © (13.11.06 16:38)
это событие?
← →
Anatoly Podgoretsky © (2006-11-13 16:39) [5]> webpauk (13.11.2006 16:35:00) [0]
На событие необходимости заполнения реквизитов.
← →
webpauk (2006-11-13 16:44) [6]когда активизировать новую форму?
OnCreate
OnShow&
← →
novill © (2006-11-13 16:44) [7]OnShow
+ проверка необходимости
← →
webpauk (2006-11-13 16:45) [8]на OnShow - if FormPass.ShowModal=mrCancel then Close
Close формы не происходит
← →
webpauk (2006-11-13 16:46) [9]а на OnCreate - if FormPass.ShowModal=mrCancel then Close
форма становится недоступна
← →
KilkennyCat © (2006-11-13 16:47) [10]я уже отвечал.
← →
novill © (2006-11-13 16:49) [11]я знаю :)
А почему не проверять заполнение пароля вообще перед вызовом формы реквизитов?
← →
webpauk (2006-11-13 16:49) [12]
> KilkennyCat © (13.11.06 16:47) [10]
дык ежели из разных мест загружать форму реквизитов - везде цеплять и форму пароля!
нерацуха...
← →
KilkennyCat © (2006-11-13 16:51) [13]> [12] webpauk (13.11.06 16:49)
непонял. я был уверен, что вызов пароля обязателен.
← →
webpauk (2006-11-13 16:54) [14]обязателен. Только прицепить бы проверку пароля на запуск формы реквизитов. А не вызывать форму пароля каждый раз перед тем как вызываешь форму реквизитов (запуск формы идет из разных мест)
← →
Anatoly Podgoretsky © (2006-11-13 16:55) [15]> webpauk (13.11.2006 16:49:12) [12]
Глупый человек, ты запускай другую форму из всех мест, а она уже знает когда можно запустить другую форму.
← →
webpauk (2006-11-13 16:56) [16]
> Anatoly Podgoretsky © (13.11.06 16:55) [15]
т.е. if FormPassword.showModal = mrOk then FormData.Show;
← →
novill © (2006-11-13 16:57) [17]> [14] webpauk (13.11.06 16:54)
> А не вызывать форму пароля каждый раз перед тем как вызываешь
> форму реквизитов
Сделай одну процедуру, которая бы сначала вызвала форму пароля, а потом форму реквизитов и не парь!
← →
webpauk (2006-11-13 16:58) [18]
> webpauk (13.11.06 16:56) [16]
>
> > Anatoly Podgoretsky © (13.11.06 16:55) [15]
>
> т.е. if FormPassword.showModal = mrOk then FormData.Show;
>
тока это глупо. Я должен вызывать форму FormData, а получается главной формой оказывается FormPassword (её запуск предшествует)
← →
KilkennyCat © (2006-11-13 16:59) [19]и даже если требуется по паролю открывать несколько форм, можно просто передавать признак требуемой формы.
← →
KilkennyCat © (2006-11-13 16:59) [20]программировать ваще глупо.
← →
webpauk (2006-11-13 17:02) [21]т. е. из формы FormData нигде нельзя запустить FormPassword, и если результат неуд - закрыть форму FormData?
← →
KilkennyCat © (2006-11-13 17:05) [22]> [21] webpauk (13.11.06 17:02)
если результат неуд - сообщение об этом и все. Зачем закрывать неоткрытое?
← →
saxon (2006-11-13 17:06) [23]
> webpauk (13.11.06 17:02)
OnIdle, но и это глупо - см [20].
← →
clickmaker © (2006-11-13 17:07) [24]тоже мне, придумал проблему. Кода на минуту, а ватокатания на целый день
class function TRekvizitForm.Execute;
begin
if TLoginForm.Execute then begin
with TRekvizitForm.Create(Application) do begin
try
ShowModal;
finally
Free;
end;
end;
end;
end;
как должна выглядеть TLoginForm.Execute, надеюсь, воткнешь по аналогии
← →
webpauk (2006-11-13 17:08) [25]я начинаю нервничать...
вопрос был: можно ли перед работой с формой FormData проверить доступ, активировав фому FormPassword. И если рез неуд - не активировать FormData, причем эту проверку подвесить на какое-то событие внутри модуля TformData (OnCreate, OnShow, etc)
← →
webpauk (2006-11-13 17:09) [26]
> clickmaker © (13.11.06 17:07) [24]
сложнее.
лучше уж каждый раз перед созданием формы где-то в коде делать проверку пароля
← →
clickmaker © (2006-11-13 17:13) [27]
> [26] webpauk (13.11.06 17:09)
мужик, ты уже перенервничал, это точно.
ЧЕМ сложнее.
Вызов ОДНОЙ строчки из любого места - что может быть проще?
← →
webpauk (2006-11-13 17:18) [28]
> clickmaker © (13.11.06 17:13) [27]
а где объявитьclass function TRekvizitForm.Execute;
?
← →
clickmaker © (2006-11-13 17:21) [29]
> [28] webpauk (13.11.06 17:18)
поручик, вам какие еще намеки нужны? TRekvizitForm ни о чем не говорит? Ну ладно, ладно - TformData, делаем скидку на нервы )
← →
webpauk (2006-11-13 17:24) [30]
> clickmaker © (13.11.06 17:21) [29]
блин, ну ты совс меня за ламера принимяешь. Обыдна...
я имел в виду private.. public...
← →
clickmaker © (2006-11-13 17:26) [31]
> блин, ну ты совс меня за ламера принимяешь. Обыдна...
> я имел в виду private.. public...
ты эта... смотри, вот после таких вопросов и правда начну принимать
какой здесь private, сам-то подумай?
← →
webpauk (2006-11-13 17:32) [32]
> class function TRekvizitForm.Execute;
> begin
> if TLoginForm.Execute then begin
> with TRekvizitForm.Create(Application) do begin
> try
> ShowModal;
> finally
> Free;
> end;
> end;
> end;
> end;
что новое... вызов метода до Create
объясните-с
← →
webpauk (2006-11-13 17:34) [33]т. е. RekvizitForm.Execute запускает TRekvizitForm.Create(Application) ?
← →
clickmaker © (2006-11-13 17:35) [34]
> [32] webpauk (13.11.06 17:32)
про статические методы, стало быть, не слышали?
Ну так вот: ежели метод объявлен с ключевым словцом class, то его можно вызывать до создания экземпляра.
упомянутый Create, кстати, ни что иное, как специальный статический метод, именуемый конструктором.
Из специфики метода вытекает, что в нем нельзя обращаться к полям класса до создания объекта, что мы и делаем строчкой with TRekvizitForm.Create(Application) do begin
← →
webpauk (2006-11-13 17:40) [35]
> clickmaker © (13.11.06 17:35) [34]
спасибо.
поучил дурака. буду знать на будущее. всё заработало.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.048 c