在DLL中写一个函数,函数的返回值是个数组类型,应该如果做?(30分)

  • 主题发起人 主题发起人 yz_qing
  • 开始时间 开始时间
Y

yz_qing

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在DLL中写一个函数,因为传入参数是个string类型的文件名列表(因为VB不支持PCHAR类型),如‘c:/aa.dcm;c:/bb.dcm;c:/cc.dcm’这个字符串,在这个该DLL中进行处理后想让它传给DELPHI的是保存在一个数组变量中的三个文件名。
 
type
StrAy=array of String;

function MyFunc(const Str:String):StrAy
stdcall;
begin
//...
end;


try it?
 
那返回值怎么赋?
result:=StrAy;??
 

result[0];
result[1];
...
 
啊?函数可以返回多个值的么?
 
function MyFunc(const Str:String):StrAy
stdcall;
var
ay: StrAy;
begin
setLength(ay,3);
ay[0] := '';
ay[1] := '';
ay[2] := '';
result := ay;
end;

我没用数组做过返回值,试试
 
后退
顶部