Try OpenEdge Now
skip to main content
Programming Interfaces
External Program Interfaces : Host Language Call Interface : Using HLC

Using HLC

The OpenEdge HLC Interface provides a way to call C language functions from within OpenEdge applications. You can use OpenEdge HLC to add portable custom features to OpenEdge. For example, you can link in C functions that do the following:
*Add support for trigonometric and other special numeric functions to OpenEdge
*Allow OpenEdge to access and control multimedia devices, such as video equipment
*Allow OpenEdge to directly access third-party proprietary data files, such as spreadsheet files
If you intend to port your extensions to other environments, use HLC. If you intend to build extensions for use with Windows only, use dynamic link libraries (DLL). If you intend to build extensions for use on UNIX platforms, use UNIX shared objects.
You can use shared libraries or DLLs with your OpenEdge Windows applications to call routines from an ABL procedure. An application links to these routines at run time rather than at build time, and shares the code with other applications. Any enhancement to a shared library or DLL immediately becomes available to your application without rebuilding.
For more information on using UNIX shared libraries or Windows DLLs with OpenEdge, see Shared Library and DLL Support. See your Windows SDK documentation for details on building DLLs.
The HLC library functions provide an interface between C functions and ABL. From your C function, you can call HLC library functions that perform the following tasks:
*Read data from and write data to ABL shared or global variables
*Read data from and write data to ABL shared buffers
*Display OpenEdge-like messages
*Control interrupts
*Perform timer-service operations
For more information on using HLC library functions, see Using HLC library functions.