C#
public static extern int Init(ref ConnInfo pk);
Init(ref pConnInfo);delphi:
function Init(var pk:ConnInfo):integer;stdcall;  
Init(pConnInfo);  这句该如何翻译?? 
此函数是调用dll提供的Init方法,ConnInfo是C++定义的struct..

解决方案 »

  1.   

    C# 中 ref  其实传递的是地址的引用。在Delphi中可以用指针代替。
      

  2.   

    不知楼主是想问哪个函数,Init是调用一个类(initialize),ref就是传递地址
      

  3.   

    目前是在delphi中调用dll提供的Init函数发现有问题,
    应该是翻译不正确,希望能得到正确的转换语句,呵..
    delphi不熟啊,呵
      

  4.   


    pConnInfo=^ConnInfo;
    Init(pConnInfo);
      

  5.   


    不是太理解啊
    function Init(var pk:ConnInfo):integer;stdcall;  
    var
    cnInfo  :ConnInfo;
    begin
      cnInfo.szUserName:='test';
      cnInfo.szPassword:='test';
      cnInfo.iTimeOut:=30;
      cnInfo.nPort:=8100;
      cnInfo.nProtocal:=0;
      cnInfo.szAddress:='127.0.0.1';
      cnInfo.szServerName:='test';  InitKCBP(cnInfo);
    end;应该如何修改? 
      

  6.   

    上面讲的不是特别清楚,居然没法修改...
    function Init(var pk:ConnInfo):integer;stdcall;   定义type
    cnInfo= record
        szUserName:string;
        szPassword:string;
        szServerName:string;
        nProtocal:integer;
        szAddress:string;
        nPort:integer;
        iTimeOut:integer;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var 
    cnInfo  :ConnInfo; 
    begin 
      cnInfo.szUserName:='test'; 
      cnInfo.szPassword:='test'; 
      cnInfo.iTimeOut:=30; 
      cnInfo.nPort:=8100; 
      cnInfo.nProtocal:=0; 
      cnInfo.szAddress:='127.0.0.1'; 
      cnInfo.szServerName:='test';   Init(cnInfo); 
    end; 
      

  7.   

    function Init(var pk:ConnInfo):integer;stdcall;   type 
    ConnInfo= record 
        szUserName:string; 
        szPassword:string; 
        szServerName:string; 
        nProtocal:integer; 
        szAddress:string; 
        nPort:integer; 
        iTimeOut:integer; 
    end; procedure TForm1.Button1Click(Sender: TObject); 
    var 
    cnInfo  :ConnInfo; 
    begin 
      cnInfo.szUserName:='test'; 
      cnInfo.szPassword:='test'; 
      cnInfo.iTimeOut:=30; 
      cnInfo.nPort:=8100; 
      cnInfo.nProtocal:=0; 
      cnInfo.szAddress:='127.0.0.1'; 
      cnInfo.szServerName:='test';   Init(cnInfo); 
    end; 在线等....