例如Dll提供的接口:
     
     int func1(msg_t **msg);//其中msg_t是一个结构体那么在delphi中,如何调用该方法呢?

解决方案 »

  1.   

      int func1(msg_t **msg);是VC写的dll原型,C++中**代表的就是指针的指针.
      

  2.   

    type
      PMyRc = ^TMyRc;
      TMyRc = Record
        ......
      end;
    p : PMyRC ;
    i : Integer;
    i := func1(p)  ; //这样调用
      

  3.   

    type
      PPMsg=^PMsg;
    function func1(msg_t:PPMsg):Integer;
      

  4.   

    在众多情况下,应该属于一个返回值
    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;
      

  5.   

    var
      msg: msg_t;
      p1,p2:Pointer;
    begin
      p1 := @msg;
      p2 := @p1;
      func1(p2);//二级指针
    end;