J'utilise C# DLL dans une application VC++. J'ai quelques détails dans VC++ commePassage de la structure de VC++ à C#
PageNumer
pageTitle
PageDesc
BoxDetail
Je dois les passer à C# DLL. J'ai donc fait une structure dans VC++, puis je passe ça à C#. Mais je ne pouvais pas faire ça. Aidez-moi, s'il vous plaît.
VC++ Fonction:
struct SCS3OverVwPg
{
__int32 iOvrPgNo;
char sOvrPgTitle[30]; //OverView Page Title
};
void CToolTab::SendOverview()
{
SCS3OverVwPg *pOverVw = 0;
pOverVw = new SCS3OverVwPg;
Globals1::gwtoolbar->SetTree(pOverVw);
}
fonction C#:
public struct SCS3Over
{
Int32 iOvrPgNo;
char[] sOvrPgTitle;
}
public void SetTree(SCS3Over x)
{
MessageBox.Show("Data received");
}
Si je fais comme ça, il montre l'erreur
erreur C2664: « tabcontrol :: ToolBar :: SetTree ': impossible de convertir le paramètre 1 de' SCS3OverVwPg * 'à' SCS3Over '
Si je change le nom de la DLL C# en SCS3OverwPg
, cela indique error of structure redifinition
. Aidez-moi, s'il vous plaît.
Votre code C++ est-il écrit en C++/CLI ou C++? –
Dans VS2008, application MFC – Anu