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