Цитата:
Сообщение от Meepo
Нужно ли всякий раз писать (Sender: TObject)?
|
Нужно, потому что такова
сигнатура TNotifyEvent в VCL. И пишется он так не ради забавы, а через Sender передается ссылка на вызвавший событие компонент. Таким образом при входе в обработчик у тебя как бы два Self -- один от класса-владельца обработчика, а другой -- от вызывающей стороны. С пониманием этого подружить их в коде будет намного проще.
Передача дополнительных параметров в обработчики, как можно догадаться, обычно делается через контекст
экземпляра одной из взаимодействующих сторон. Для этого в компонентах VCL предусмотрено свойство Tag, которому можно присвоить числовое значение, а программно -- и указатель.