How PocketBuilder builds the project

When PocketBuilder builds your application project:

  1. PocketBuilder regenerates all the objects in the libraries.

  2. If you selected Build CAB File for Pocket PC Distribution, PocketBuilder creates a CAB file for the deployment targets you selected.

    In the process of building a CAB file, PocketBuilder also creates INF, BAT, DAT, and LOG files. For a detailed description of what gets generated, see the information on packaging an application for distribution in “Delivering your application to end users”. For a discussion of what to do if errors occur during CAB file generation, see “Troubleshooting errors during CAB file generation”.

  3. To create the executable file you specified, PocketBuilder searches through your target. It copies—into the executable file—the compiled versions of referenced objects from the libraries in the target's library search path that are not specified as dynamic libraries. For more details, see “How PocketBuilder searches for objects”.

  4. PocketBuilder creates a dynamic library for each of the libraries you specified for the target and maintains a list of these library files. PocketBuilder maintains the unqualified file names of the dynamic library files; it does not save the path name.

PocketBuilder does not copy objects that are not referenced in the application to the executable file, nor does it copy objects to the executable file from libraries you declared to be dynamic libraries. These objects are linked to the target at runtime and are not stored in the executable file.

What happens during execution

When an object such as a window is referenced in the application, PocketBuilder first looks in the executable file for the object. If it does not find it there, it looks in the dynamic library files that are defined for the target. For example, if you specified that a dynamic library should be generated from test.pkl, PocketBuilder looks for test.pkd at runtime.

The dynamic library files must be in the \Windows path on the device or in the directory where you deploy the project EXE. If PocketBuilder cannot find the object in any of the dynamic library files, it reports a runtime error.