>Hi:
>
>This is a VB function which I perform in VFP without any success.
>
>
>
>Private Declare Function deruter Lib RET32.dll" _
> ByVal tjd As Double, _
> ByVal ipl As Long, _
> ByVal iflag As Long, _
> ByRef xdatos As Double, _
> ByVal serr As String _
> ) As Long ' xdatos must be the first value of an 6 elements array
>
> ' serr must be able to hold 256 bytes
>
>
>
>dimension xdatos[6]
>xdatos[1]=0.0000
>ipl=1
>tjd =274489525.52555
>serr=replicate(" ",256)
>snam=" "
>iflag=256
>
>Declare LONG deruter IN RET32.dll ;
>as calcdatos ;
>double tjd , ;
>long ipl , ;
>long iflag ,;
>double @xdatos ,;
>STRING serr
>
>iflgret=deruter(tjd,ipl,iflag,&xdatos,serr)
>
>On issuing this last I got
error.
>
>Had someone experience in DLL returning double values in arrays ?
>
>Thanks.
>
>Alejandro Fernandez
Alejandro,
When passing arrays to API make your array a string. ie: a 6 doubles array :
lcDoubleArray = replicate(chr(0),8*6)
myDLL(..., @lcDoubleArray..)
Cetin