日期:2014-05-18  浏览次数:21095 次

调用C++的DLL,执行结果:有时成功有时失败
C++ int CardNoDecrypt( char* z_Data, char* z_CardNo ) 返回0成功,返回1失败(说明,传入卡号z_Data,传出解密后卡号z_CardNo)

C#

   
 [DllImport("W.dll", EntryPoint = "CardNoDecrypt")]  
  private static extern int CardNo(string as_Data, StringBuilder as_CardNo);
  private void button1_Click(object sender, RoutedEventArgs e)
  {

  StringBuilder cardNo = new StringBuilder("error");
  int i= CardNo("2938849298779334", cardNo);
  this.button1.Content = cardNo.ToString();

}调用C++的DLL,执行结果:有时成功有时失败,没规律,有时重启EXE就没问题,偶尔又有问题了。怎么搞的?

抛出异常:System.DllNotFoundException:Unable to load dll "w.dll";由于应用程序配置不正确,应用程序未能启动。。。。。。


------解决方案--------------------
StringBuilder cardNo = new StringBuilder("error");
cardno 的内存给大点

------解决方案--------------------
传进来的参数有问题吧