int func1(msg_t **msg);是VC写的dll原型,C++中**代表的就是指针的指针.
type PMyRc = ^TMyRc; TMyRc = Record ...... end; p : PMyRC ; i : Integer; i := func1(p) ; //这样调用
type PPMsg=^PMsg; function func1(msg_t:PPMsg):Integer;
在众多情况下,应该属于一个返回值 type msg_t = record ... end; TMSG_T=^MSG_T; PMSG_T=^TMSG_T;作为出参: function func1(var msg:TMSG_T):Integer; 作为入参: function func1(msg:PMSG_T):Integer;
var msg: msg_t; p1,p2:Pointer; begin p1 := @msg; p2 := @p1; func1(p2);//二级指针 end;
PMyRc = ^TMyRc;
TMyRc = Record
......
end;
p : PMyRC ;
i : Integer;
i := func1(p) ; //这样调用
PPMsg=^PMsg;
function func1(msg_t:PPMsg):Integer;
type
msg_t = record
...
end; TMSG_T=^MSG_T;
PMSG_T=^TMSG_T;作为出参:
function func1(var msg:TMSG_T):Integer;
作为入参:
function func1(msg:PMSG_T):Integer;
msg: msg_t;
p1,p2:Pointer;
begin
p1 := @msg;
p2 := @p1;
func1(p2);//二级指针
end;