TDocument и TView имеют некоторые общие характеристики. Эти
характеристики доступны в любых классах, производных от TDocument
и TView. Эти характеристики индексируются списком перечислимых
значений. Первой характеристикой каждого производного от TDocument и TView класса должна быть PrevProperty, а последним значением в списке характеристик - NextProperty. Эти два значения ограничивают список характеристик и обеспечивают, что в производных
классах список характеристик будет начинаться с корректного значения. PrevProperty следует установить в значение NextProperty-1
ближайшего базового класса.
Имена характеристик обычно содержатся в массиве строк. Позиция каждого имени в массиве соответствует индексу характеристики.
Однако при добавлении характеристик в производный класс вы можете
сохранять и обращаться к характеристикам любым способом, но сложные схемы лучше не использовать.
Атрибуты характеристик также обычно содержатся в массиве
(значений int). Вы можете работать с ними произвольным образом,
но обычно их индекс соответствует индексу характеристики. Атрибуты определяют доступ к характеристике:
pfGetText | Доступ в текстовом формате. |
pfGetBinary | Доступ в собственном нетекстовом формате. |
pfConstant | Характеристику нельзя изменить после создания
объекта. |
pfSettable | Характеристику можно устанавливать с указанием
собственного формата. |
pfUnknown | Определена, но недоступна в объекте this. |
pfHidden | Характеристика должна быть скрыта от нормального просмотра (но пользователь может видеть ее имя или значение). |
pfUserDel | Характеристика определена пользователем на
этапе выполнения. |