External Dll Call
Posted: Thu Mar 17, 2011 1:25 pm
Roger,
This will get your thinking cap going.
We have a third party dll we have been using for many years. (Rand McNally, Milemaker).
A normal call is something for miles is :
nMiles= DllCall( DLL_NAME, DLL_CDECL, "GetHHGDistance", cOrigin, cDestination)
Works great, has for years. We have many different calls.
They have one we have not used, but need to that is a call that returns two items, one is our 'equal', the other the route for the miles.
numlines= DllCall( DLL_NAME, DLL_CDECL, "Route", cLocations,,creturn,7,0 )
number of lines is our var, -0-, which has an answer every time. Great. (4=4 lines of 71 characters, for example)
The second is cReturn, which is our our space(5000)(empty buffer), its being returned, supposedly, but since there is no equal I cannot get it to 'refresh' to the updated value. It just stays as space(5000), or whatever I assign as the number of blank characters.
Do you think there is a way to make that a refreshable function of some sort. I think that has to be the problem. Their support team and tech personnel all say if there is a number of lines, there has to be something in the buffer. We have tested using C and Visual and it works right. (not our exe's, but ones they use)
Any thoughts are appreciated.
Fred
omni
This will get your thinking cap going.
We have a third party dll we have been using for many years. (Rand McNally, Milemaker).
A normal call is something for miles is :
nMiles= DllCall( DLL_NAME, DLL_CDECL, "GetHHGDistance", cOrigin, cDestination)
Works great, has for years. We have many different calls.
They have one we have not used, but need to that is a call that returns two items, one is our 'equal', the other the route for the miles.
numlines= DllCall( DLL_NAME, DLL_CDECL, "Route", cLocations,,creturn,7,0 )
number of lines is our var, -0-, which has an answer every time. Great. (4=4 lines of 71 characters, for example)
The second is cReturn, which is our our space(5000)(empty buffer), its being returned, supposedly, but since there is no equal I cannot get it to 'refresh' to the updated value. It just stays as space(5000), or whatever I assign as the number of blank characters.
Do you think there is a way to make that a refreshable function of some sort. I think that has to be the problem. Their support team and tech personnel all say if there is a number of lines, there has to be something in the buffer. We have tested using C and Visual and it works right. (not our exe's, but ones they use)
Any thoughts are appreciated.
Fred
omni