Вверх ↑
Ответов: 1841
Рейтинг: 369
#1: 2015-12-03 16:22:52 ЛС | профиль | цитата
sla8a писал(а):
Не понятны мне эти class-ы Сколько статей перечитал, как в интернете так и в книгах, но до сих пор не понимаю как с ними работать.

RTTI работает только с классами (в Delphi), информацию о структурах (рекордах) компилятор не сохраняет (вроде):
wiki писал(а):
Компилятор Delphi сохраняет в исполняемом файле программы информацию обо всех классах, используемых в ней. При создании любого объекта в памяти перед ним (по отрицательным смещениям) располагается заголовок, в котором есть в том числе ссылка на структуру-описатель класса этого объекта. Встроенные в язык функции работают с этой информацией прозрачно для программиста. Оператор is позволяет проверить, является ли объект или тип наследником определённого типа, а оператор as используется для приведения объектов или интерфейсов от одного типа к другому, являясь аналогом dynamic_cast в C++.

Заголовки объектов — также неявно — используются для автоматического управления памятью.

Так что, либо самому в поле структуры (рекорда, или как там их в Delphi) хранить тип объекта, либо переходить на классы.
------------ Дoбавленo в 16.22:
sla8a писал(а):
Пока понятных для меня примеров не нашел. Может есть наглядный пример или ссылка?

Как-то так
http://pastebin.com/yhrrsH2N - не смог на форуме корректно вставить код
карма: 1
1
Голосовали:sla8a