What are the recommendations for calling a .DLL subprogram?

Document ID : KB000012322
Last Modified Date : 14/02/2018
Show Technical Document Details
Question:

What are the recommendations for calling a .DLL subprogram?

Environment:
CA Easytrieve Report Generator for Windows, release 11.1
Answer:

Use a non-object oriented development environment to build the .DLL to be called by CA Easytrieve.

Use C calling conventions (CDECL).

 

 

Additional Information:

The Easytrieve CALL statement uses C functions to call a .DLL file. The .DLL called from Easytrieve must also be built using C calling conventions (CDECL). A .DLL built using object oriented conventions (managed code) cannot easily be called from Easytrieve.

If your .DLL was not built using CDECL, but using standard calling conventions (STDCALL) for instance, then you will get the "EZACT001 Error 2 detected loading program xxx" error.

The cdecl (which stands for C declaration) is a calling convention that originates from the C programming language and is used by many C compilers for the x86 architecture

Please see the following link for further information: https://en.wikipedia.org/wiki/X86_calling_conventions