Christian, I am curious is something change this way:
DECLARE INTEGER FooDouble IN myDll.dll DOUBLE @, DOUBLE @
lnNum1 = 0.000
lnNum2 = 0.000
?FooDouble(@lnNum1,@lnNum2)
? lnNum1
? lnNum2
>Hello,
>
>i've tested the marshaling of doubles on my own dll ... works flawlessly ..
>
>e.g.
>
>int _stdcall FooDouble(double *myP1, double *myP2)
>{
>*myP1 = 3.333;
>*myP2 = 4.444;
>return 1;
>}
>
>DECLARE INTEGER FooDouble IN myDll.dll DOUBLE @, DOUBLE @
>
>lnNum1 = 0
>lnNum2 = 0
>?FooDouble(@lnNum1,@lnNum2)
>
>one strange thing is that the ? operator (to put the variable on screen) shows only as many digits as the variable were defined with
>
>? lnNum1 && shows only "3" instead of "3.333"
>but
>? STR(lnNum1,10,10) && shows "3.333000000.."
>
>so the actual marshaling of the values works just fine ..
>maybe the ? "bug" tricks you ..
>
>Regards
>Christian
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.