Created On:  20 July 2012

Problem:

Customer converted most of their Net Express code to Visual COBOL 2.0 native code. The application is compiled as a set of COBOL .DLLs which are called from a Visual Basic GUI front end.

In their VB application they changed options so that the COBOL directory points at where these dlls are located. However, when the application is started they get the error message, "The procedure entry point _mFerr3 could not be located in the dynamic link library cblrtsm.dll."

What does this message mean?

Resolution:

The error message about the entry point _mFerr3 not being found means that your application is picking up the wrong version of the COBOL run-time system, cblrtsm.dll, most likely the one from Net Express. Search your system to see if you have multiple versions of cblrtsm.dll on your drive and ensure that only the one from the Visual COBOL\bin folder is being found. You should link your native applications using the dynamic option so that it will look in the registry to find the location of the correct cblrtsm.dll run-time file. You can do this but opening up the project properties in Visual Studio and on the COBOL Link tab ensure that Dynamic is checked under run-time options.