Отдал бы и ползарплаты! Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.0 пользователей не могут ошибаться!
?6941
прекрасное6443
говно5904
говнорашка5512
хуита4710
anime3065
linux2651
music2633
bnw2601
рашка2565
log2354
ололо2166
дунч1821
pic1815
сталирасты1491
украина1439
быдло1437
bnw_ppl1417
дыбр1238
гімно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 / 4558 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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