Incremental Compilation
Most programs during development are composed of a "static" part that does not usually change and a dynamic part that is recompiled often. Multiple use statements are a common example of the first part of a program that may be considered static. This static portion of your program is called the "header." You may define the header of your program and compile that portion only once. The header will be automatically included, precompiled, when you compile the dynamic portion of your program. This technique can significantly reduce the time it takes to recompile a large program. It can also be used to give access to part of the source code of a program to users while keeping another part inaccessible to them.
You may define a header of your program for precompilation with the #HEADER and #ENDHEADER commands. When you compile a program with these commands and the P option, only the header will be compiled, and the files ProgramName.FLD, ProgramName.PBG, ProgramName.PKD, and ProgramName.PRP will be produced. When you compile the program without the P option, the .FLD will be included, and the header will not be recompiled. Only the portion of your program after the #ENDHEADER will be compiled. As portions of your program become complete and tested, you may move them into the header and recompile the header. It is your responsibility to make sure that the header is recompiled (with P) every time it changes.
For example:
#HEADER
Use Windows.pkg
Use cMyCustomGrid.pkg
#ENDHEADER
:
Object oMyCustomGrid1 is a cMyCustomGrid
:
End_Object