|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.04.2012, 00:28 | #1 |
Пользователь
Регистрация: 06.07.2010
Сообщений: 31
|
Адрес объекта в памяти
Необходимо узнать адрес объекта в памяти при нажатии на него. При этом объект создаётся динамически и хранится в Tobjectlist.
То есть кликаем по объекту а у нас куда нибудь например в лейбл выводится адрес объекта в памяти. |
09.04.2012, 03:00 | #2 |
Пользователь
Регистрация: 06.07.2010
Сообщений: 31
|
разобрался сам. Есть self у каждого объекта. Поэтому переопределяем родительский метод клика мышкой по объекту и выводи куда надо...
|
09.04.2012, 08:50 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Self применяется только внутри методов, и означает объект с которым этот метод вызван.
в вашем же случае надо помнить, что всегда объекты(ключевое слово class) хранятся по указателю. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
09.04.2012, 13:33 | #4 |
Пользователь
Регистрация: 06.07.2010
Сообщений: 31
|
|
09.04.2012, 13:57 | #5 |
Пользователь
Регистрация: 06.07.2009
Сообщений: 27
|
Можно при создании объекта прописать ему уникальное имя Name и по нему уже определять как реагировать, конечно если объект наследник класса TComponent, если нужен только тип объекта то есть у наследников TObject имеется свойство ClassName. Также можно хранить ссылки в дополнительных списках TObjectList созданный без автоуничтожения содержащихся объектов т.е. TobjectList.Create(false). При наступлении события искать объект там и реагировать соответсвенно.
|
09.04.2012, 14:05 | #6 |
Пользователь
Регистрация: 06.07.2010
Сообщений: 31
|
по моему проще всё таки будет через Self. К тому же щелкать нужно будет по объекту а он как раз у будет в дальнейшем указывать свой адрес.
|
09.04.2012, 14:17 | #7 |
Пользователь
Регистрация: 06.07.2009
Сообщений: 27
|
Заранее не узнаешь какое значение будет у self, для этого и приходится думать о его идентификации, конечно если это нужно.
|
09.04.2012, 14:36 | #8 |
Пользователь
Регистрация: 06.07.2010
Сообщений: 31
|
Конечно не узнать, но мы же будем его вызывать уже из созданного объекта.
|
09.04.2012, 18:25 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
кого его?
раскрывайте карты. ибо у метода селф это одно, а вот в ссылках на процедуру-метод другое. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
09.04.2012, 19:00 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Чем не нравится такой способ
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
если через стек передается адрес памяти. зачем нужны указатели * | sexsex | Общие вопросы C/C++ | 6 | 25.02.2012 17:17 |
Адрес Bios в оперативной памяти | finny | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 21.09.2010 13:00 |
Как изменять свойства и функцыи объекта в памяти? | VintProg | Общие вопросы Delphi | 2 | 10.07.2009 15:29 |
Вызвать адрес памяти как функцию | XAOC-forever | Общие вопросы Delphi | 18 | 07.03.2009 20:32 |
Как получить адрес свойства объекта? | Lim | Общие вопросы Delphi | 3 | 30.11.2007 19:46 |