List Projects: Important Things to Note

Variables - in the case of list projects - are values which remain constant for one page, and fields are the record-dependent data. These are printed using LlPrintFields().

When calling LlPrint() the objects that are not lists are printed, as well as the list headers (if the option LL_OPTION_DELAYTABLEHEADERLINE is not set, otherwise the table header will be delayed until the first data line is to be printed). List & Label then expects the records to be defined.

With every LlPrintFields() it is tested whether the data record to be printed fits onto the current page. If this is not the case, LL_WRN_REPEAT_DATA is returned, which indicates that a new page should be started. In this case don't increment the record pointer.

When the table is full, the variables for the next page must be defined before calling LlPrint(), as with this LlPrint() any linked objects are printed, the new page is started and - see above - the objects on the new page including list headers printed.

A forced page break is possible by calling LlPrint() at any time, which ends the present page if this has already been partially filled.