Progress
ADM 2 Guide


SmartObject File Relationships

Within the overall SmartObject class hierarchy, the class files described in the "General Structure of a SmartObject" section relate to other files of the same type in certain very specific ways. These relationships establish what characteristics and properties a specific SmartObject type inherits. Figure 5–2, which is based on the SmartDataViewer, illustrates these relationships.

Figure 5–2: Include File Structure for SmartDataViewer

In Figure 5–2, note the following:

Note that when SmartObject code is preprocessed, the preprocessors limit the full expansion of the include files to exactly one branch of the class hierarchy, to avoid duplication of the SmartObject code.

Each SmartObject type uses a different part of the class hierarchy (different branches), but the The tree for any SmartObject type always ends with smart.i.

Figure 5–3 expands on Figure 5–2 to illustrate how super procedures are started.

Figure 5–3: Super Procedure Schematic for SmartDataViewer

In Figure 5–3, note the following:

NOTE: The object’s own super procedure must always be added last. This is because super procedures are searched in last-in, first-out (LIFO) order, so the interpreter searches in viewer.p first for needed routines and in smart.p last. This ensures that more general behavior is executed last and more object-specific behavior is executed first.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095