Designer: For your convenience, all external references made for a data form can be done when the form is retrieved from the library with dl_fmget(). The disadvantage of doing this at that time is that you have less control over memory use; all structures for data storage and the choice list memory file must be allocated before the data form is retrieved from the library.
As an alternative, you can resolve these references at a later point in your program—as long as all external references are resolved before the form is processed. For instance, you may want to get all forms out of the library at one time, thus opening and closing the library file only once (a comparatively slow operation). Then, you can resolve the external references for a form immediately before processing it.
In addition, if there are any fields or memos for which you have set the OMITFROMSTRUCT field option to ON and you want to collect the data entered in the field, you must resolve the references to their underlying data variables before the form is processed.
The tutorial des_fmxr.c, which uses the form des_clist, shows you how to resolve functions in a routine other than the one where the form is read from the library.