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函数引用申明好像没关系.