sla8a писал(а):
Не понятны мне эти class-ы Сколько статей перечитал, как в интернете так и в книгах, но до сих пор не понимаю как с ними работать.
RTTI работает только с классами (в Delphi), информацию о структурах (рекордах) компилятор не сохраняет (вроде):
wiki писал(а):
Компилятор Delphi сохраняет в исполняемом файле программы информацию обо всех классах, используемых в ней. При создании любого объекта в памяти перед ним (по отрицательным смещениям) располагается заголовок, в котором есть в том числе ссылка на структуру-описатель класса этого объекта. Встроенные в язык функции работают с этой информацией прозрачно для программиста. Оператор is позволяет проверить, является ли объект или тип наследником определённого типа, а оператор as используется для приведения объектов или интерфейсов от одного типа к другому, являясь аналогом dynamic_cast в C++.
Заголовки объектов — также неявно — используются для автоматического управления памятью.
Так что, либо самому в поле структуры (рекорда, или как там их в Delphi) хранить тип объекта, либо переходить на классы.
------------ Дoбавленo в 16.22:sla8a писал(а):
Пока понятных для меня примеров не нашел. Может есть наглядный пример или ссылка?
Как-то так
http://pastebin.com/yhrrsH2N - не смог на форуме корректно вставить код