This topic covers the implementation details of TRuleStyle.
Scope: TypeDefinitions.pas; record. Prepared from the curated implementation supplied for this review on 2 October 2026.
Contains ID and Name. Its direct reader does not perform the FixRuleStyleIfNeeded repair applied by some containing rule readers. Built-in rule IDs 0–10 and names are recorded in the shared values topic.
Notation and shared helper rules: Reading this reference.
Literal rec_type values emitted within these routines: TRuleStyle. Nested values may belong to child wrappers rather than this owner itself; the attribute entries below give their exact locations.
Exact XML fields and attributes
The paths below start at this record or property node. A slash identifies a child element; @ identifies an attribute. Curly braces mark a variable index or expression, not literal XML text. Initial values describe initialization; they do not establish what an omitted individual element does. The Implementation toggle below contains the supplied routines for exact branch order and conversions.
ID
XML representation: The text of the ID element.
Initial value: 0 (TRuleStyle.Initialize).
Reading: Reads the element into ID when the record node exists.
Writing: Stores the numeric value of ID whenever the writer reaches this field.
Name
XML representation: The text of the Name element.
Initial value: “Solid” (TRuleStyle.Initialize).
Reading: Reads the element into Name when the record node exists.
Writing: Stores Name whenever the writer reaches this field.
@rec_type
XML representation: The rec_type attribute.
Writing: Stores the literal text “TRuleStyle” whenever the writer reaches this field.
Initialization and reset values
TRuleStyle.Initialize
Setting or temporary variable |
Initial value |
When it is assigned |
self |
Default (TRuleStyle) |
Always |
ID |
0 |
Always |
Name |
“Solid” |
Always |
Built-in numeric style names and their separate namespaces: Values and encodings.
Storage declarations relevant to interpretation
These are in-memory member and property types, not a list of mandatory XML children. They retain array bounds, fixed buffers and selector types. The field reference above defines what is actually serialized.
Name |
Declared type / bounds |
Kind |
ID |
integer |
member |
Name |
string |
member |
The Implementation toggle contains only TRuleStyle methods. Initializers and helpers belonging to other types are identified separately below. Shared XML-helper limitations are explained in Reading this reference.
Declaration reproduces this record’s complete declaration from the supplied source, including its fields, properties and method signatures.