Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
Вниз
Runtime type info of Record. Найти похожие ветки
← →
SAVwa (2002-10-18 19:13) [0]Привет.
Дельфи(5) имеет Evaluate/Modify в котором можна просмотреть DynamicArray"s со всеми полями (с ,r).
Но если надо просмотреть обект класса TList который имеет в себеTMYRecord = record a: Integer; b: Integer; end;
(по поинтерам канечно) то во время исполнения єто сделать невозможно.
Поєтому, если сделать функцію типа:
function GetListDescription(List: TList; RecordType: TRecordType; AsXML: boolean {else - plain text}): string;
и заставить линкер не выкидывать ее, то можно осуществить просмотр.
Помогите с реализацией. Известо ведь, что все типы компилер записывает как TypInfo.PPTypeInfo где-то у себя. TTypeKind = (tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat, tkString, tkSet, tkClass, tkMethod, tkWChar, tkLString, tkWString,tkVariant, tkArray, tkRecord, tkInterface, tkInt64, tkDynArray);
Поэтому, наверное можна такую функцыю написать.
С уважением
Анатолий.
← →
Le Taon (2002-10-18 19:24) [1]В Evaluate/Modify Дельфи использует отладочную информацию, а не RTTI.
И он должен видеть все поля структур, массивы и всё прочее.
Исключение может возникать тогда, когда из-за оптимизации
ссылка на объект хранится в регистре.
Причём здесь PPTypeInfo - я не понял. В нём не хранится нужной тебе информации.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c