Measurement Studio for VB6

cancel
Showing results for 
Search instead for 
Did you mean: 

Why do I get 'Bad Calling Dll Convention' ?

Solved!
Go to solution

Hi Rafi,

 

I've been having actually this same issue "Couldn't find DLL entry point XXXX in XXX.dll - Error 453". Maybe with your experience you would be able to help me.

 

Basically what I am trying to do is to reverse - engineer the communication parameters and steps between an proprietary application and an FTDI device (connected on the USB port of the PC). This application uses the FT2XX.dll to allow configuration of the port settings, write data, read status etc of the FTDI chip. FTDI provides the Labview VIs that access this dll. So I downloaded this set of functions thinking in writing a Wrapper DLL in Labview, but modifying each VI, so that I can at least trace the parameters and calling functions order.

So, I created this wrapper DLL fine, through which I can call the functions in LV without a problem. After this, I put the original aside, being replaced by this new one (with the same file name etc). When I run the application that error (453) pops up (with the function FT_Get_Status). I tried changing to "Standard Calling" conventions, buat t still did not work.

 

First of all, is that a feasible approach to debug the comm? Should this hypothetically work? If yes, what am I missing?

 

Thansk for your time.

Edgar

 

0 Kudos
Message 21 of 25
(3,620 Views)

Hi Edgar,

 

What do you mean by "put the original aside" are you referring to the FT2XX.dll? Just slightly confused as to which files are being created and replaced.

 

Thank you!

Chris T.
0 Kudos
Message 22 of 25
(3,600 Views)

Hi Christopher, 

I meant that I place the original ftd2xx.dll into a different folder, and copied the wrapper DLL (with the same name) in the folder of the application. 

So the application doesn't know he's talking to the wrapper, instead of the original dll.

Thanks

Edgar Charry

0 Kudos
Message 23 of 25
(3,597 Views)

Hi Edgar,

 

So let me verify, you are making a wrapper DLL that is calling into the ftd2xx.dll, but you're replacing the ftd2xx.dll by copying your wrapper DLL in place of the original.

 

If so, then it kind of makes since your new dll is giving an error since it is referencing the ftd2xx.dll where you just put your wrapper dll. Basically, it is trying to call itself. Perhaps build the wrapper around the ftd2xx.dll that is already in a different directory. This way the dll doesn't call itself and is calling the original ftd2xx.dll in a different location.

 

Hope this helps!

Chris T.
0 Kudos
Message 24 of 25
(3,585 Views)

To go a step further, if your "debug" wrapper DLL has the same name as the DLL you are trying to call, you should probably not just move that DLL but actually rename it.  I don't know an easy way to guarantee that you won't have path issues and Windows isn't always friendly about loading two DLLs with the same name into the same process.

0 Kudos
Message 25 of 25
(3,578 Views)