R
renzq
Unregistered / Unconfirmed
GUEST, unregistred user!
系统:WinXP Professinal
Delphi 7。0
Visual Fortran 6。5
用Fortran生成DLL文件,由Delphi调用,在单变量参数,一维数组都是对的,但是对于二维数组就不对了!
Fortran中是:
!DEC $ATTRIBUTES DLLEXPORT::TEST
! DEC $ATTRIBUTES REFERENCE::NY
DOUBLE PRECISION NY(3,5)
...
DELPHI :
type
Array1 = array[1..3,1..5] ofdo
uble;
procedure TEMP(var NY: Array1);StdCall;External'Temp.dll';
完了以后,数组的值就变了 比如在Delphi中给值为
1 1 1 1 1
NY = 2 2 2 2 2
3 3 3 3 3
在Fortran中就变成了
1 1 2 2 3
NY = 1 1 2 3 3
1 2 2 3 3
请问怎么调用才能使它能传递正确的参数
Delphi 7。0
Visual Fortran 6。5
用Fortran生成DLL文件,由Delphi调用,在单变量参数,一维数组都是对的,但是对于二维数组就不对了!
Fortran中是:
!DEC $ATTRIBUTES DLLEXPORT::TEST
! DEC $ATTRIBUTES REFERENCE::NY
DOUBLE PRECISION NY(3,5)
...
DELPHI :
type
Array1 = array[1..3,1..5] ofdo
uble;
procedure TEMP(var NY: Array1);StdCall;External'Temp.dll';
完了以后,数组的值就变了 比如在Delphi中给值为
1 1 1 1 1
NY = 2 2 2 2 2
3 3 3 3 3
在Fortran中就变成了
1 1 2 2 3
NY = 1 1 2 3 3
1 2 2 3 3
请问怎么调用才能使它能传递正确的参数