這是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怎么現實呢
uj5u.com熱心網友回復:
你要提前宣告這個結構體啊。C、C++、C#中的struct對應Delphi的record
uj5u.com熱心網友回復:
Delphi里面的結構體已經宣告, C#這個 PtrToStructure 方法意思是 將資料從非托管記憶體塊封送到新分配的指定型別的托管物件 ,Delphi不知道怎么轉過來,需要用到 m_buffVerify 這個指標變數uj5u.com熱心網友回復:
type
PMyData=https://bbs.csdn.net/topics/^TMyData;
TMyData=https://bbs.csdn.net/topics/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;
uj5u.com熱心網友回復:
直接faceRect := m_buffVerify^;即可轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/31051.html
標籤:語言基礎/算法/系統設計
上一篇:delphi post提交問題
