![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Господа продвинутые, помогите, пожалуйста, уяснить общий принцип действия в следующем случае: мне нужно из одной формы передать некий параметр(допустим, указатель) в обработчик события вызываемой формы. Как нужно действовать? Ведь, насколько я понимаю, в самом обработчике только один параметр - Sender. Как ему(обработчику) сообщить другие данные? Пробовала завести глобальную переменную в вызываемой форме и воспользоваться процедурой для этой формы, которая вызывается в вызывающей форме и заключается в присвоении этой глобальной переменной нужного указателя(на массив типа double, график которого нужно рисовать в вызываемой форме). И переданный процедурой указатель действительно нормально держится в вызываемой форме, а при входе в обработчик OnPaint теряется и рисовать уже нечего.
![]() Наверняка есть общий принцип действия при необходимости передачи параметров из вызывающей формы в вызываемую. Поделитесь, плиииииз!!! |
#2
|
||||
|
||||
![]() Дело в том, что Sender является по сути родителем почти для любого класса, поэтому достаточно сендер явно привести к классу того, кто это событие сгенерил и все свойства посылателя будут доступны.
Скажем у нас есть на кнопке обработчик клика и есть на едите, тот-же обработчик. Что мы должны сделать. Во первых определить класс посылателя: Код:
if TComponent(Sender).ClassType = TEdit then ... if TComponent(Sender).ClassType = TButton then ... Код:
if TComponent(Sender).ClassType = TEdit then TEdit(Sender).Text := 'Что-то тут напишем' Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Большое спасибо за реакцию! Это получается, что параметр, который я хочу передать в вызываемую форму, должен быть свойством вызывающей формы?
А подскажите, пож-та, чем нехорош в моём конкретном случае(при передаче параметра (указателя на массив double) из формы в форму) вот такой "тупой" путь: написать для вызываемой формы процедуру с тем самым параметром, а внутрь неё засунуть метод Show? И вызов этой процедуры повесить в обработчик клика кнопки на вызывающей форме. |