首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

平台调用小难题,该怎么解决

2011-12-29 
平台调用小难题一个c语言的dll中有例如CStringTestFunc的接口定义,参数为CStringListTest的引用如下:class

平台调用小难题
一个c语言的dll中有例如CStringTestFunc的接口定义,
参数为CStringListTest   的引用
如下:

class   CStringTest:   CObject
{
public:
CString           m_strIPAddress;
public:
CStringTest()   {};
virtual   ~CStringTest()   {};
};
class   CStringListTest   :   public   CTypedPtrList <CObList,   CStringTest*>
{
public:
CStringListTest()   {};
virtual   ~CStringListTest();
};

__declspec(dllexport)   bool   CStringTestFunc(CStringListTest&   cstrList);

以上为示例代码!
目前我需要在C#中通过dll调用这个接口,需要对CStringTestFunc方法进行重新包装,我在C#中把CStringListTest   类尝试定义为List <CStringTest> 类型或者ArrayList类型,都发现无法传递值到CStringTestFunc中。换句话说,在C#这边,我构造了CStringTest对象,并附值给strIPAddress,然后add到CStringListTest   对象并作为参数调用CStringTestFunc,但发现到了调用dll的CStringTestFunc方法中,对应的strIPAddress并没有附上值。应该是c#这边对CStringListTest   封装不对,求教该怎么做?

[解决办法]
不会,帮顶!
[解决办法]
平台调用不要试图传递c++本身的类
[解决办法]
try to set up a bridge by C++.Net.

That means C++ <-> C++.Net <-> C#
[解决办法]
顶上

热点排行