27 / 27 / 4
Регистрация: 25.11.2010
Сообщений: 72
|
||||||
1 | ||||||
Использование TObject *Sender в своих функциях01.08.2011, 20:54. Показов 26639. Ответов 8
Метки нет (Все метки)
Всем доброго времени суток. Столкнулся с проблемой что при использовании TObject *Sender в своей функции все красиво, но только до тех пор пока не нужно вызвать эту функцию. Я не знаю что этой функции дать на место Sender'a.
Как быть? Если не трудно то на примере вот такой функции.
0
|
01.08.2011, 20:54 | |
Ответы с готовыми решениями:
8
Откуда берется FormPaint(TObject *Sender)? Вызывается 2 раза void __fastcall TForm2::ListBox1Click(TObject *Sender) Обработка параметром Sender as TObject procedure TForm1.Edit1Change(Sender: TObject); |
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
|
|
01.08.2011, 21:40 | 2 |
Sender это указатель на объект которому принадлежит сообщение (в каком компоненте произошло событие).
Приведенная выше функция вообще не нуждается в подобном параметре. Фактическим параметром при вызове функции может быть любой объект класс которого унаследован от TObject - это все VCL-классы.
0
|
27 / 27 / 4
Регистрация: 25.11.2010
Сообщений: 72
|
|
02.08.2011, 13:19 [ТС] | 3 |
Так вот я же и хочу узнать, как именно мне отследить кто вызвал мою функцию.
0
|
25 / 25 / 8
Регистрация: 27.10.2009
Сообщений: 81
|
||||||
03.08.2011, 10:35 | 4 | |||||
можешь передавать число в функцию и в свитче определять кто вызвал, ну как вариант...
0
|
27 / 27 / 4
Регистрация: 25.11.2010
Сообщений: 72
|
|
03.08.2011, 16:51 [ТС] | 5 |
Мда, я сам себе на мягкое место приключений искал... Зачем искать того кто вызвал если можно просто так из функции потыкать палочкой того кто мне нужен. А делается это очень просто... В *.h файле основной формы прописываются все мои unit'ы, и к *.cpp в котором я работаю подключаем главный *.h файл. Вот и все. Фсе фунции могут трогать все методы, всех компонентов
0
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|||||||||||
05.08.2011, 21:36 | 7 | ||||||||||
У класса TObject нет свойства Name. Можно только узнать ClassName()
Рассмотрим случай, когда ты точно знаешь, какого класса объект должен тебе передаваться
а ты должен у него получить свойство Name
3
|
0 / 0 / 0
Регистрация: 06.03.2014
Сообщений: 13
|
|||||||||||||||||||||||||||||||
17.04.2016, 08:53 | 9 | ||||||||||||||||||||||||||||||
если вы хотите использовать в функции свойства, которые наследуются от TComponent то нет смысла извращать и передавать параметром TObject. лучше параметром TComponent и отправлять:
1. ближайший к TObject в иерархии классов. 2. содержит в себе все требуемые функции свойства\методы. например нам нужно создать функцию, которая будет двигать КНОПКУ по форме(я пишу на Delphi. для Builder могу ошибаться с синтаксисом). можно написать такую функцию:
ПЫ. СЫ имею небольшой опыт промышленного программирования и часто подобные ляпы сбивают с толку
0
|
17.04.2016, 08:53 | |
17.04.2016, 08:53 | |
Помогаю со студенческими работами здесь
9
Procedure TForm1.Button3Click(Sender: TObject); Как создать процедуру RadioButtonClick(Sender: TObject) Ошибка в строке procedure Button1Click(Sender: TObject); Показывает ошибку в procedure Form2Button1Click(Sender: TObject); Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |