Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Pass Array of Doubles to WinAPI routine
Message
From
29/11/2003 18:42:33
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00854213
Message ID:
00854501
Views:
14
> What I'm asking is: Won't VFP generate a temporary (but actual) 64-bit
> float and pass its address to the API recipient?

Would you know any difference? *g* FWIW, Fox will probably pass the address of the ev_real field of the variable in question (see definition of struct Value in pro_ext.h and extrapolate it to 32 bits) and this could be verified within the DLL routine by subtracting the field offset of ev_real from the passed address and looking if the character 'N' (field ev_type at offset 0) is at the resulting address. But that is pretty academic, I think - what matters is that Fox passes the address of an IEEE 64-bit float that represents the current value of the variable, and that changes made to said value are propagated back to the original variable after the API call returns. Everything else that happens or fails to happen is just between Fox and your favourite performance benchmark, so to speak.

Note: VFP6 and earlier do not support multiple aliases for API functions, nor indeed multiple API functions with the same name (regardless of which DLL they reside in).
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform