Тема: Проблема
Показать сообщение отдельно
  #7  
Старый 23.05.2012, 18:53
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Такие обращения существуют только до компиляции. После неё они заменяются на нечто вроде
Код:
Pointer(DWORD(Pointer(DWORD(from1)+16)^)+72))^
или же используются всякие таблицы, где лежат адреса (для виртуальных функций).
Как следствие, если на этапе компиляции не известно, куда будет происходить обращение, так обратиться невозможно.
Однако есть функция FindComponent, которая ищет компонент по его полю Name, и далее можно с полученным компонентом работать. Примерно как
Код:
TStringGrid(FindComponent('Frame_lik')).cells...
При этом нужно искать именно по той строке, которая лежит в поле Name компонента.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием