主程序中:
......
type
arr=array[0..32768] of double;
parr=^arr;
..............
function test(ptarrarr):integer;stdcall;external project1.dll name 'DoM1';
procedure TForm1.Button1Click(Sender: TObject);
var
tarr:arr;
ptarrarr;
i:integer;
begin
ptarr:=@tarr;
i:=test(ptarr)
//test是DLL中的函数,我想把数组指针传进去,把所指向的数组内容在DLL中修改
edit1.Text:=floattostr(tarr[16]);
end;
动态链接库 project11.dll中:
......
type
arr=array[0..32768] of double;
parr=^arr;
function test( Narr):integer;stdcall;
var testarray:arr;
i:integer;
begin
testarray:=N^;
for i := 0 to 32768 do
begin
testarray:=i;
end;
result:=Round(N[16]);//测试用
end;