Hi,
I’m trying to use an MEI/CPI BNR with Paylink, and although I’ve downloaded the Paylink SDK, I’m not clear what to do about the DLL entry in Standard.cfg
Nathan
MEI/CPI BNR Interface
Moderators: aardvark, davebush, Admin
Re: MEI/CPI BNR Interface
Hi Nathan,
Assuming you’re working with Windows, the entry in Standard.cfg is:
This tells Paylink.exe to look for a special interface dll called MEIBNR.dll, which will be part of the Paylink distribution.
If you look in the top level Paylink installation folder you will see a number of files with names like MEIBNR.dll.2.0.2 and MEIBNR.dll.2.1.0. These are alternatives for this, and you need to find out the version of the BNR interface DLLs that you have got from CPI and rename the matching MEIBNR.dll by removing the numbers after the dll part.
This means that Paylink will now load that internal interface DLL which will then in turn link to the matching BNR interface DLLs. The version number has to match because the BNR control blocks change from release to release and must match the compiled MEIBNR.dll code.
Some points about this:
Dave
Assuming you’re working with Windows, the entry in Standard.cfg is:
Code: Select all
Protocol MEIBNR from DLLIf you look in the top level Paylink installation folder you will see a number of files with names like MEIBNR.dll.2.0.2 and MEIBNR.dll.2.1.0. These are alternatives for this, and you need to find out the version of the BNR interface DLLs that you have got from CPI and rename the matching MEIBNR.dll by removing the numbers after the dll part.
This means that Paylink will now load that internal interface DLL which will then in turn link to the matching BNR interface DLLs. The version number has to match because the BNR control blocks change from release to release and must match the compiled MEIBNR.dll code.
Some points about this:
- The MEIBNR.dll and all the BNR dlls all have to be on the search path, or in the same folder as Paylink.exe
- The BNR dlls have to be 32 bit versions. Even if your application is 64 bit, the driver program is 32 bit, and that’s what actually runs the interface dlls.
Dave
Aardvark software developer. Please put all communication on the problem through the board for the benefit of others.
Re: MEI/CPI BNR Interface
Hi Dave,
I did what you suggested, but I am still having a problems. When Paylink runs I now get the error message
Nathan
I did what you suggested, but I am still having a problems. When Paylink runs I now get the error message
Can you tell what’s wrong?16:52:04.394 PC: Opening Paylink DLL Interface Device
16:52:04.396 DLL: Load of 'H:\Aardvark\Milan\PC Stuff\Drivers\MEIBNR.dll' failed, are associated DLLs present?
Nathan
Re: MEI/CPI BNR Interface
Hi Nathan,
The message tells us that Paylink has found the MEIBNR.dll, but when it asks Windows to load it, the windows loader can’t satisfy all the references. (If the dll itself isn’t found you get a different error.)
Unfortunately, after the dll load attempt fails, there’s no additional information provided to the program as to what the exact problem is, so we’ve written a little test program which you can download from here
This program is statically linked with the BNR interface dlls, so if you run it from the same location and in the same way as Paylink.exe, you should get a meaningful error message from the Windows loader, e.g.
The code execution cannot proceed because BNRCTLW32.DLL was not found. Reinstalling the program may fix this problem.
If the interface dlls are found without a problem, the program just exits immediately. (You might see the screen blink.)
Regards
Dave
The message tells us that Paylink has found the MEIBNR.dll, but when it asks Windows to load it, the windows loader can’t satisfy all the references. (If the dll itself isn’t found you get a different error.)
Unfortunately, after the dll load attempt fails, there’s no additional information provided to the program as to what the exact problem is, so we’ve written a little test program which you can download from here
This program is statically linked with the BNR interface dlls, so if you run it from the same location and in the same way as Paylink.exe, you should get a meaningful error message from the Windows loader, e.g.
The code execution cannot proceed because BNRCTLW32.DLL was not found. Reinstalling the program may fix this problem.
If the interface dlls are found without a problem, the program just exits immediately. (You might see the screen blink.)
Regards
Dave
Aardvark software developer. Please put all communication on the problem through the board for the benefit of others.
Re: MEI/CPI BNR Interface
Hi Dave,
OK, thanks that sorted it.
Nathan
OK, thanks that sorted it.
Nathan