VC6的DLL函数声明如下:int Write(HANDLE Com, BYTE Address, BYTE * dataLen, BYTE BlockData[],char * str1, unsigned int shu1);请写一个对应的DELPHI6的DLL函数调用声明。

解决方案 »

  1.   

    function Write(Com:THandle;Address:Byte;datalen:Pbyte;BlockData:Pbyte;str1:Pchar;shu1:word):integer;
      

  2.   

    大小写有什么讲究吗,比如Pbyte写成pbyte可以吗?
      

  3.   

    还有一个问题是:在调用function Write(Com:THandle;Address:Byte;datalen:Pbyte;BlockData:Pbyte;str1:Pchar;shu1:word):integer之前 ,需要提供与Com:THandle;Address:Byte;datalen:Pbyte;BlockData:Pbyte;str1:Pchar;shu1:word 这几个形参相对的实参变量,请提供一下这几个实参的定义。
      

  4.   

    function Write(Com: THandle; Address: Byte; var dataLen: Byte; BlockData: PByte; str1: PChar; shu1: LongWord): Integer; cdecl;
      

  5.   

    function Write(Com: THandle; Address: Byte; var dataLen: Byte; BlockData: PByte; str1: PChar; shu1: LongWord): Integer; cdecl;
      

  6.   


    var
      Com:THandle;
      Address:Byte;
      datalen:byte;
      BlockData:array[0..99] of byte;
      str1:Pchar;
      shu1:word 
    begin
      com := 1324;
      Address := 10;
      datelen := 100;
      //BlockData进行赋值
      str1 = 'abcdefg';
      shu1 := 1000
      Write(Com,Address,@datelen,@BlockData,str1,shu1);
    end;
      

  7.   

    int Write(HANDLE Com, BYTE Address, BYTE * dataLen, BYTE BlockData[],char * str1, unsigned int shu1);function Write(Com:THandle;Address:BYTE;datalen:Pbyte;BlockData:Pbyte;str1:Pchar;shu1:word):integer;
    //就是带*的指针就用用pbyte或者pchar,HANDLE 直接用一个integer也可以