to athossmth(athos):不太明白,讲清楚点吧

解决方案 »

  1.   

    .net的机制和以前的不兼容!
    调用dll特别容易出错!
    让人很郁闷!·
      

  2.   

    在net中你要设置dllattribute属性,查看相关的msdn,你需要将string类型申明成非托管属性的对应类型!
      

  3.   

    to  haohaohaohao() :对头,我是将c++中的LPCTSTR类型参数,在C#中用[MarshalAs(UnmanagedType.LPTStr)]string  来申明的,是相对应的类型。
    但是我调试的时候发现,从C#传进的string(比如“Test”),到了C++的dll里的函数时就变了(只有个“T”了),而且一旦对这个参数进行操作就要出错,怎么办啊,唉。
      

  4.   

    使用unsafe关键字
    在不安全代码中使用指针。
      

  5.   

    试了一会还是不行,是我没有搞懂,to zhzuo(秋枫) :能具体贴点代码吗?多谢了!
      

  6.   

    “未将对象引用设置到对象的实例”
    一般将发生错误的那个参数定义前面加ref就对了
      

  7.   

    to Ninputer(装配脑袋) :刚才试了,不过还是不行,而且连string的第一个字符都乱了。看来看去还是从C#这边传过去的string有问题,但是没有办法解决,不知道还要怎么做。