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