想通过DLL将VC中的函数输出数组给DELPHI使用,请问DELPHI如何设计接受函数?好象不能接收VC传来的指针啊?
VC中代码如下:
float myarray[3]={1,2,3};
extern "C" _declspec(dllexport)float *exportarray(int size){
for (int i=0;i<size;i++)
myarray[i]=myarray[i]+3;
return myarray;
}
VC中代码如下:
float myarray[3]={1,2,3};
extern "C" _declspec(dllexport)float *exportarray(int size){
for (int i=0;i<size;i++)
myarray[i]=myarray[i]+3;
return myarray;
}
myArray=array[0..2] of Double;
p_myArray=^myArray;
///////////////
var
p:p_myArray;
begin
p1:=exportarray(3);
myArray=array of Double;
p_myArray=^myArray;
///////////////
var
p:p_myArray;
begin
new(p);
SetLength(p^,3);
myhandle:=LoadLibrary('test.dll');
//Type TGetData=function(size:Integer ):p_myArray ;Cdecl;
//GetData:TGetData
@GetData:=GetProcAddress(myhandle,'exportarray');
p:=GetData(4);
Edit1.Text:=FloatToStr(p^[2]);//输出返回的第3个数上述代码运行时仍然出错啊!
To hongqi162(失踪的月亮):给点建议好么?谢谢