这是C#代码,其中cw_face_res_t 是结构体,m_buffVerify 是指针
cw_face_res_t faceRect = new cw_face_res_t();
faceRect = (cw_face_res_t)Marshal.PtrToStructure(m_buffVerify, typeof(cw_face_res_t));
请教各位大侠用Delphi怎么现实呢 

解决方案 »

  1.   

    你要提前声明这个结构体啊。
    C、C++、C#中的struct对应Delphi的record
      

  2.   

    Delphi里面的结构体已经声明, C#这个 PtrToStructure 方法意思是 将数据从非托管内存块封送到新分配的指定类型的托管对象 ,Delphi不知道怎么转过来,需要用到 m_buffVerify 这个指针变量
      

  3.   


    type
      PMyData=^TMyData;
      TMyData=record
        a:char;
        b:byte;
        c:integer;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      p:Pointer;
      r1:TMyData;
    begin
      r1.a:='a';
      r1.b:=1;
      r1.c:=2;
      GetMem(p,sizeof(TMyData));
      Move(r1,p^,sizeof(TMyData));//将结构体复制到指针
      showmessage(PMyData(p)^.a);
      showmessage(IntToStr(PMyData(p)^.b));
      showmessage(IntToStr(PMyData(p)^.c));
      FreeMem(p);
    end;
      

  4.   

    直接faceRect := m_buffVerify^;即可