dll的调用(200分)

  • 主题发起人 主题发起人 罗诗途
  • 开始时间 开始时间

罗诗途

Unregistered / Unconfirmed
GUEST, unregistred user!
我用bcbuilder做一个dll,然后在delphi下调用,出问题.
源程序如下:
void func(unsigned char *input,double *output,int leng)
{int i;
for (i=0;i<leng;i++)
output=(double)input/128;
}//dll 中的声明
debug进入后
input的值传递正确,但只要一写output就死.
output在delphi中已声明:
output:array ofdo
uble;
setlength(output,leng);
 
???????????????????
再来!
 
你把你的Delphi,BCB的申明都贴出来。
(变量名不要使用input,output,虽然它不是本问题的问题所在)
你在贴代码时注意: 〈 与 〉
源程序如下:
void func(unsigned char *input,double *output,int leng)
{int i;
for (i=0;i〈leng;i++)
output=(double)input/128;
}//dll 中的声明
debug进入后
input的值传递正确,但只要一写output就死.
output在delphi中已声明:
output:array ofdo
uble;
setlength(output,leng);
 
delphi中用func(@(input[0]), @(output[0]), leng);调用试试
 
估计是func在delphi中声明类型有问题
 
在Delphi中动态数组好像不能做变参,如果是这样,就只有传指针了。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
741
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部