type
  MMData=record
    code:array[0..5] of char;
    sdate:array[0..7] of char;
    edate:array[0..7] of char;
  end;procedure TForm1.Button1Click(Sender: TObject);
var
    mData:MMData;
    out_buf:array[0..999] of char;
    reid:array[0..3] of char;
    outlen:integer;
begin
    ZeroMemory(pChar(@mData),sizeof(mdata));
    CopyMemory(@mdata.code[0],pChar('000024'),6);
    CopyMemory(@mdata.sdate[0],pChar('20040101'),8);
    CopyMemory(@mdata.edate[0],pchar('20040110'),8);
    GetData(@reid[0],pChar(@mData),sizeof(mdata),@out_buf[0],@outlen);
end;

解决方案 »

  1.   

    谢谢以上各位的回复
    这个函数GetData(reid,(char *)&mdata, sizeof(mdata),out_buf,&outlen )的声明在DELPHI中将如何声明?是否可用PCHAR来定义呢?如
     GetData(reid:Pchar,mdata:pchar,sizeof(mdata),outbuf:pchar,outlen:pinteger)
      

  2.   

    gzmhero(hihihi) 老大,你去申请做版主把,我支持你...
      

  3.   

    heluqing(鉴之小河〖挣大钱娶美女〗) ( ) 信誉:100 谢谢。
    呵呵,没兴趣。
      

  4.   

    char —> bytefunction GetData(reid:pbyte;inbuf:pbyte;inlen:integer;outbuf:pbyte;outlen:pinteger): longint; StdCall; external 'MYLIB.DLL';