![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!
Есть кнопка A, по нажатию которой из процедуры A_OnPress нужно вызвать у поля для ввода B событие-процедуру установленное на OnChange - B_OnChange. Заковырка в том, что в обработчике B_OnChange используются Self,Sender, то есть нельзя просто вызвать процедуру B_OnChange из кода A_OnPress, нужно чтобы процедуру вызвал сам объект B! (как будто данные действительно изменились) Пробовал кучу разных вариантов - либо ничего не происходит, либо критическая ошибка. Можно конечно i:=B.Text,B.Clear,B.Text:=i - но это как-то тупо. Как же вызвать процедуру OnChange от имени того объекта без Change??? |
#2
|
||||
|
||||
![]() Ну вообще, было бы правильнее в обработчиках ГУЙя перевызывать другие методы. А так, можно просто вызвать процедуру, например, Edit1Change(Edit1 /*тот объект, на котором висит этот обработчик*/);
У самого объекта функции вызова события скрыты в привейте и протектеде, так, что, как говорил Шарик: "А это такая индейская народная изба - фигвам называется". Можно, конечно, написать потомка, но Вам оно надо? — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 01.10.2011 в 18:46. |
#3
|
|||
|
|||
![]() Понятно, спасибо!
|