Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запуск формы перед другой [D6, XP]


Страницы:   1 2

webpauk ©   (2006-11-13 16:35:00) 

Для входа на форму заполнения реквизитов(не основная) сначала надо заполнить пароль. На какое событие вешать запуск парольной формы. В зависимости от результата ввода пароля форма заполнения реквизитов или запускается или закрывается.


webpauk   (2006-11-13 17:40:00) [1]


> clickmaker ©   (13.11.06 17:35) [34]

спасибо.
поучил дурака. буду знать на будущее. всё заработало.


clickmaker   (2006-11-13 17:35:00) [2]


> [32] webpauk   (13.11.06 17:32)

про статические методы, стало быть, не слышали?
Ну так вот: ежели метод объявлен с ключевым словцом class, то его можно вызывать до создания экземпляра.
упомянутый Create, кстати, ни что иное, как специальный статический метод, именуемый конструктором.
Из специфики метода вытекает, что в нем нельзя обращаться к полям класса до создания объекта, что мы и делаем строчкой with TRekvizitForm.Create(Application) do begin


webpauk   (2006-11-13 17:34:00) [3]

т. е. RekvizitForm.Execute запускает TRekvizitForm.Create(Application) ?


webpauk   (2006-11-13 17:32:00) [4]


> 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
объясните-с


clickmaker   (2006-11-13 17:26:00) [5]


> блин, ну ты совс меня за ламера принимяешь. Обыдна...
> я имел в виду private.. public...

ты эта... смотри, вот после таких вопросов и правда начну принимать
какой здесь private, сам-то подумай?


webpauk   (2006-11-13 17:24:00) [6]


> clickmaker ©   (13.11.06 17:21) [29]

блин, ну ты совс меня за ламера принимяешь. Обыдна...
я имел в виду private.. public...


clickmaker   (2006-11-13 17:21:00) [7]


> [28] webpauk   (13.11.06 17:18)

поручик, вам какие еще намеки нужны? TRekvizitForm ни о чем не говорит? Ну ладно, ладно - TformData, делаем скидку на нервы )


webpauk   (2006-11-13 17:18:00) [8]


> clickmaker ©   (13.11.06 17:13) [27]

а где объявить class function TRekvizitForm.Execute;?


clickmaker   (2006-11-13 17:13:00) [9]


> [26] webpauk   (13.11.06 17:09)

мужик, ты уже перенервничал, это точно.
ЧЕМ сложнее.
Вызов ОДНОЙ строчки из любого места - что может быть проще?


webpauk   (2006-11-13 17:09:00) [10]


> clickmaker ©   (13.11.06 17:07) [24]

сложнее.
лучше уж каждый раз перед созданием формы где-то в коде делать проверку пароля


webpauk   (2006-11-13 17:08:00) [11]

я начинаю нервничать...
вопрос был: можно ли перед работой с формой FormData проверить доступ, активировав фому FormPassword. И если рез неуд - не активировать FormData, причем эту проверку подвесить на какое-то событие внутри модуля TformData (OnCreate, OnShow, etc)


clickmaker   (2006-11-13 17:07:00) [12]

тоже мне, придумал проблему. Кода на минуту, а ватокатания на целый день

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, надеюсь, воткнешь по аналогии


saxon   (2006-11-13 17:06:00) [13]


> webpauk   (13.11.06 17:02)

OnIdle, но и это глупо - см [20].


KilkennyCat   (2006-11-13 17:05:00) [14]

> [21] webpauk   (13.11.06 17:02)

если результат неуд - сообщение об этом и все. Зачем закрывать неоткрытое?


webpauk   (2006-11-13 17:02:00) [15]

т. е. из формы FormData нигде нельзя запустить FormPassword, и если результат неуд - закрыть форму FormData?


KilkennyCat   (2006-11-13 16:59:00) [16]

программировать ваще глупо.


KilkennyCat   (2006-11-13 16:59:00) [17]

и даже если требуется по паролю открывать несколько форм, можно просто передавать признак требуемой формы.


webpauk   (2006-11-13 16:58:00) [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 (её запуск предшествует)


novill   (2006-11-13 16:57:00) [19]

> [14] webpauk   (13.11.06 16:54)
> А не вызывать форму пароля каждый раз перед тем как вызываешь
> форму реквизитов

Сделай одну процедуру, которая бы сначала вызвала форму пароля, а потом форму реквизитов и не парь!


webpauk   (2006-11-13 16:56:00) [20]


> Anatoly Podgoretsky ©   (13.11.06 16:55) [15]

т.е. if FormPassword.showModal = mrOk then FormData.Show;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо