In order to run multiple instances of the OpenEdge executable in Windows, the static data size must not exceed 64K. The OpenEdge executable is a large model application that meets this requirement. However, if your HLC objects add excessive static data to the module, a linker error such as the following occurs:

DGROUP Greater than 64K.

To avoid this problem:

  1. Dynamically allocate any large buffers or arrays.
  2. Move your static text strings and constants into a resource file or into the code segment using _based pointers, as shown in the following example:
    char _based(segname("_CODE")) mytext[] = "string of text";

See the Windows C Compiler documentation for details.