![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать активную форму? [D7]
kolos_rus © (2005-10-11 09:37:00)В модуле данных есть процедуры, которыми пользуются различные формы. Для корректной работы процедуры необходимо знать, какая форма ее вызвала.
Digitman (2005-10-11 09:50:00) [1]Вызов процедуры из кода юнита, где описана та или иная форма, не имеет ничего общего с активностью этой формы на в момент осуществления вызова - процедура м.б. вызвана как из кода юнита активной , так и неактивной формы.
по поводу же определения активной формы см.cправку к методу Screen.ActiveForm:
Read ActiveForm to learn which form in the application has input focus. If the application is not currently active, ActiveForm is the form that will have focus when the application becomes active again.
ЮЮ (2005-10-11 09:45:00) [2]для таких целей у процедур предусмотрены параметры
Leonid Troyanovsky (2005-10-11 09:44:00) [3]
> kolos_rus © (11.10.05 09:37)
> В модуле данных есть процедуры, которыми пользуются различные
> формы. Для корректной работы процедуры необходимо знать,
> какая форма ее вызвала.
Screen.ActiveForm.
Только, если процедуре (методу) требуется знать, кто их вызвал,
то нужно просто передавать дополнительно Sender: TObject.
Кстати, вызов необязательно может происходить из активной формы,
но и, скажем, по таймеру, по приходу сообщения и т.д.
--
Regards, LVT.