Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Problem Call DLL - Have Source Code
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00159950
Message ID:
00160188
Views:
20
Kirk,

The @ means that the parameter is passed by reference. So you were sending it's address (say for example 0x5234:0768) instead of it's value (0). When the argument got to the DLL C++ saw 1379141480 instead of 0. The C++ declaration would be int * or long * if it wanted an address. In Win32 integer, int and long are all 32 bit values. In the LPSTR declaration of the char arguments LP = long pointer, STR = null terminated string. So those you needed to pass as @ references instead of putting the whole string into the call stack. The way VFP handles strings though you don't have to use the @ in the declare. But I usually do because of all the C/C++ I did before picking up Xbase.

>Thanks for your help that worked perfect. After looking at their code, I had changed most of the variables to integers vice long and still received the errors. Was it the "@" in the declare that was messing it up? I hope to have to get a better understanding of where I went wrong.
df (was a 10 time MVP)

df FoxPro website
FoxPro Wiki site online, editable knowledgebase
Previous
Reply
Map
View

Click here to load this message in the networking platform