Basic Procedure

First of all a List & Label job is opened (LlJobOpen() or LlJobOpenLCID()) and, if necessary, global List & Label options are set (LlSetOption()). Now List & Label has to be informed that printing should start (LlPrintWithBoxStart()). With this call, the project file to be used for printing is passed to List & Label. At this point, the project is opened and parsed by List & Label. During this process a syntax check is performed on all variables, fields and formulas used. This requires List & Label to know all variables and fields you are making available to your end users. For this reason, you must define all variables and fields using the LlDefineVariable() and LlDefineField() functions before calling LlPrintWithBoxStart().

As only the names and types are important at this point, not the contents, you may call the same routine you use to define all variables and fields for the Designer (e.g. with a sample content, or the content of the first record).

A print usually proceeds as follows (functions with '*' are optional calls which are not necessarily required):

<open Job>
       (LlJobOpen, LlJobOpenLCID)
<define List & Label-settings>*
       (LlSetOption,
        LlSetOptionString,
        LlSetFileExtensions,
        LlSetNotificationMessage,
        LlSetNotificationCallback)

<print>                 (see below)

<close Job>
       (LlJobClose)