УМННБJ, ЯХВ. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1244.0 пользователей не могут ошибаться!
?6962
прекрасное6450
говно5915
говнорашка5512
хуита4734
anime3072
linux2659
music2639
bnw2607
рашка2582
log2369
ололо2228
дунч1868
pic1816
сталирасты1493
быдло1440
украина1439
bnw_ppl1431
дыбр1239
гімно1158

Давно я не следил за Delphi. А тем временем появились интересные статейки про RTTI в Delphi 7: http://hallvards.blogspot.com/search/label/RTTI (начиная со второй страницы) http://www.transl-gunsmoker.ru/search/label/RTTI (перевод) http://cc.embarcadero.com/item.aspx?id=24074 (готовые модули) В Delphi 7 RTTI весьма разрозненно реализован. Самое простое — это свойства, их мы находим в TypInfo.pas. Далее, чтобы загрузка формы из ресурса могла работать, нужно находить published поля. Это мы находим где–то в Classes, в реализации, без публичного интерфейса. Наконец, самое сложное — published методы. Чтобы при загрузке формы из ресурса можно было назначать методы, адрес published метода можно искать по имени, но и только–то. Перечисление методов — опять лезть во внутренности, не имея публичных интерфейсов. При этом сигнатуры published методов недоступны. Если читать блог по порядку, то сначала автор конструирует самодекомпилятор для методов, перечисляя событийные свойства и используя сигнатуры событийных свойств. Если метод не назначен ни на какое событие, сигнатура недоступна. Далее автору, видимо, подсказали про модуль ObjAuto и директиву $METHODINFO, и на этот раз рефлексия сделана без хаков. После 7й Delphi RTTI был существенно расширен в Delphi 2010. Появился модуль Rtti.pas, где всё приподнесено на блюдечке. Так даже неинтересно.
#28Z2RS (0+1) / @octagram / 4785 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.