Consultor Eletrônico



Kbase P17945: Calling a 'C' function from within a 4GL program causes Progress to hang
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/01/2009
Status: Verified

SYMPTOM(s):

Calling a 'C' function from within a 4GL program

Progress hangs when the function is invoked

FACT(s) (Environment):

Windows
Progress 8.x
Progress 9.x
OpenEdge 10.x

CAUSE:

The C function that is hanging requires that a previous call to the same DLL to initialize some data structures. The call to the function which does this initialization is being done, however, the PERSISTENT phrase is not specified on any of the PROCEDURE definitions for these function calls.

FIX:

Add the PERSISTENT phrase to each PROCEDURE statement for all functions defined against the DLL. Using this phrase will cause the DLL to be loaded, initialized and kept so that each subsequent function call utilizes the previously initialized data structures.