C#调用C++的DLL的问题,急啊!!
小弟是新手,在C#中调用C++的DLL,C++接口原形为:Try(const unsigned int DestType,const std::string ID);
调用方法如下:
[DllImport( "DesktopAgent.dll ", CharSet = CharSet.Ansi)]
public static extern int Try(uint DestType, string ID);
Main中调用:
MessageBox.Show( "测试: " + AgentSDK.AgentTryConsult(1, "1001 ").ToString());
结果调试报错:
未将对象引用设置到对象的实例。接口中的const std::string类型,在C#中应该怎么调用啊??
------解决方案--------------------std::string不是一个简单对象,是STL的string类...
尝试StringBuilder,如果不行的话,建议建立中间托管C++程序,做为桥梁作用...
------解决方案--------------------eee std::下这么麻烦么
------解决方案--------------------你把uint ,改成int试试
------解决方案--------------------const std::string
对应String而不是string,试试
------解决方案--------------------似乎没错啊,郁闷了。 而且你的错误是说某个类对象没有实例化(没有new),是不是你其他地方的问题啊,跟DLL函数引用申明好像没关系.