General information
Category:
Coding, syntax & commands
> 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
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only