>foo(@value1,@value2)
>
>The result is that value1 and value2 come back with a strange value such as 2.63E-308.
I'm a little late to the party on this one, but didn't see that you actually got an answer yet. Go dig up a KB entitled "HOWTO: Pass Structures to a DLL". In that article are two functions that convert strings to (some numeric format that I've forgotten) and back again. Should be at the bottom of the code.
Now, reserve your memory for the variables as strings. IOW, value1=SPACE(255). Pass these by reference, call the function, and let the StringToNum function from the article work it's magic. There even examples of this in the article.
If the two functions don't do the numeric format you want, let me know, I've got others lying around somewhere.
Mike Stewart