Building a System
Return to Introduction  Previous page  Next page



The first thing to do prior to building a system is to use the Setup button to customise your system. Pressing the Build button will compile all components of the selected system using the specified options.

Touch before build
This option will cause all components of the system to be touched prior to the build process is started.

Increment VER_VOPP_FILEBUILD in every app in system
When System Builder is processing each of the components of the system it looks for an entity called VER_VOPP_FILEBUILD. The purpose of this entity is to help with versioning, so that it is easier to distinguish between builds.

If the component does have a define called VER_VOPP_FILEBUILD System Builder will increment it before compiling. The value should be defined as a digit within quotes, e.g.

DEFINE VER_VOPP_FILEBUILD := "1024"

This build number can be referenced elsewhere in your system, for example in a Version resrouce. An example of this usage is supplied with VOPP and can be found in _!Version Info Example.MEF.

Normally System Builder increments VER_VOPP_FILEBUILD only when the app/lib/DLL needs compiling. The Increment VER_VOPP_FILEBUILD in every app in system option forces System Builder to find and increment the enity in every component, ignoring whether it is already compiled or not.

Create EXEs/DLLs
After compiling each component System Builder can generate the EXE/DLL if this option is selected. You an choose to Always create the EXE/DLL or only when the file does not already exist.

Every time System Builder or Single App Build creates a DLL it also generates a PRG containing prototype information (similar to the way VO automatically generates a prototype AEF). This can be useful in the following scenario: When you use VO to create a DLL a library AEF of prototypes/defines/classes contained in the DLL is also created. If you want to use the DLL in your code you need to import this library AEF and include it in the properties of your application. Each time you change and rebuild the DLL code you should ensure that the library is kept in sync - you need to import the newly created library or manually update it with the changes.

System Builder/Single App Build helps minimise the effort in performing this update. When you first create your DLL run Export File to PRG, giving the VO generated library AEF as a parameter - and a PRG is generated. Then, in VO, create a library with a module that is associated with the PRG. Use this library, rather than the VO generated one in your system. Each time you create your DLL using System Builder or Single App Build the PRG will be recreated if necessary. And because the file is associated with a module there is no need to import any code into VO. This way you don't have to re-import or perform any manual code updates to the library.

For further details about using DLLs refer to the DLLs and Prototypes page.


© Piko Computing Consultants, 1998-2002