The first step in calling a DLL is to create a prototype record. Each DLL that you want to call requires a prototype record in the SYSPROCS table, a global system table.

The first line of the prototype record will contain the name of the module, which is typically the name of the DLL. For example, the DLL_USER32 prototype references the module USER32.DLL. The recommended convention for naming prototype records is DLL_, suffixed by the name of the module.

Note: Functions in a .OCX file can also be called. The first field of the prototype row is, by default, the filename (with the .DLL extension). If you add the .OCX extension to the filename, OpenEngine will search for the function in the .OCX file instead.


Each function is defined on a separate line, starting in the second line of the prototype record. The function definition has four parts:

  • Return Value Type
  • Calling Convention
  • Exported Function Name
  • Parameter Type
  • Optional Function Name Alias

Each element is described in the sections that follow.

Caution: Incorrectly specifying the type of a parameter will cause the function to behave abnormally, and may cause Windows or OpenInsight to terminate unexpectedly.
  • No labels