兄弟我对delphi不熟悉,现在用vc封装了一些api函数。如:
C下面的函数原型是InitGate(int iInput,char *chIp,char *chOut),我想输入iInput和chIp,然后函数处理完成,用chOut带出函数值。
请问在delphi里面怎么调用啊,我调用了几次都失败了。请各位帮帮忙,谢谢了。

解决方案 »

  1.   

    InitGate(int iInput,char *chIp,char *chOut),__cdecl or __stdcall??type 
      PInitGate = function(iInput: Integer; chIp: PChar; chOut: PChar): Boolean; cdecl;
    上面类似 VC 的函数指针 后面的 跟 VC动态调用的一样
    具体什么错误呀?
      

  2.   

    function InitGate(strInput:PChar ;strOutput:PChar ):integer;
            stdcall; external 'GateDll.dll'
            name 'InitGate';procedure TForm1.Button1Click(Sender: TObject);
    var
      s:^PChar;
    begin
       InitGate('11',s);
    end;我从来没有用过delphi,不知道怎么调用的
      

  3.   

    InitGate(char *strInput, char *strOutput),然后函数处理完成,用chOut带出函数值。最开始提问错误了,但是我后面调用还是出错,请问到底怎么调用呢?
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      s:^PChar;
    begin
       InitGate('11',s);
    end;
    var
      s: array[0..1024] of char;
      InitGate(PChar('11'), PChar(s));
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      s:^PChar;
    begin
       //记得要申请内存,否则数据写入时肯定出错
       s: array[0..1024] of char;
       InitGate('11',s);
    end;