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.