Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.31;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.021 c
14-101493
RV
2002-10-11 17:20
2002.10.31
Фракталы, кто какие знает, и не жалко?


4-101563
@andrew
2002-09-18 12:53
2002.10.31
Объясните тупому: после CreateProcess(......., si, pi)


1-101293
kri[rte]
2002-10-18 21:50
2002.10.31
Свойиста и методы Please HELP ME


7-101551
3dVadim
2002-08-28 12:53
2002.10.31
Спрятать ярлык в трее


3-101054
NeyroSpace
2002-10-11 12:38
2002.10.31
SQL запрос: alter table table1 alter newcolumn1...