0
我在VC++應用程序中使用C#DLL。我有一些在VC + +的細節,如將結構從VC++傳遞到C#
PageNumer
pageTitle
PageDesc
BoxDetail
我必須將這些傳遞給C#DLL。所以我在VC++中創建了一個結構,然後將其傳遞給C#。但我不能那樣做。請幫幫我。
VC++功能:
struct SCS3OverVwPg
{
__int32 iOvrPgNo;
char sOvrPgTitle[30]; //OverView Page Title
};
void CToolTab::SendOverview()
{
SCS3OverVwPg *pOverVw = 0;
pOverVw = new SCS3OverVwPg;
Globals1::gwtoolbar->SetTree(pOverVw);
}
C#功能:
public struct SCS3Over
{
Int32 iOvrPgNo;
char[] sOvrPgTitle;
}
public void SetTree(SCS3Over x)
{
MessageBox.Show("Data received");
}
如果我不喜歡這樣,它顯示的錯誤
錯誤C2664:「自定義的Tabcontrol ::工具欄:: SetTree':無法將參數1從'SCS3OverVwPg *'轉換爲'SCS3Over'
如果我將C#DLL中的名稱更改爲SCS3OverwPg
,它將顯示error of structure redifinition
。請幫幫我。
您的C++代碼是用C++/CLI還是純C++編寫的? – 2010-04-15 06:34:40
在VS2008中,MFC應用程序 – Anu 2010-04-15 07:03:50