Like imported widgets, you need to make sure that the type of an imported variable matches the type in its
definition. If they do not match, there's a good chance you'll run into problems when you create a widget that
references the imported value.
25.3.2 Fetching Values
As we mentioned earlier, an application can read all types of exported variables from a UIL module, with the
exception of character_set and color_table values. You retrieve most exported variables using
MrmFetchLiteral(). However, pixmap and color are retrieved with special routines that we'll describe later.
Fetching values from a UIL module is useful for obtaining internationalized strings or widget resource values that
change dynamically based on the state of the program. MrmFetchLiteral() takes the following form:
Cardinal
MrmFetchLiteral(hierarchy, name, display, value_return, type_return)
MrmHierarchy hierarchy;
String name;
Display *display;
XtPointer *value_return;
MrmCode *type_return)
Mrm looks for the variable specified by name in the UID files associated with the hierarchy parameter. The files
are searched in the same order as they appeared in the array of files passed to
MrmOpenHierarchyPerDisplay(), so if two variables with the same name occur in separate files, you'll get
the value from the first file in the list. When a value is fetched successfully, the function returns MrmSUCCESS, fills
in value_return with a pointer to the value, and fills in type_return with a constant from
<Mrm/MrmPublic.h> indicating ...