C# 引用Dll问题
引用了一个封装好的dll(里面的内容无法修改),调用里面的方法运行,前两次没有问题,运行三次后会提示“
尝试读取或写入受保护的内存。这通常指示其他内存已损坏”。测试代码如下   :                   
 [DllImport(@ "C:\dxlapi.dll ")] 
                         private   static   extern   bool   apiInitLibrary(string   s,   string   ss,   string   sss); 
                         [DllImport(@ "C:\dxlapi.dll ")] 
                         private   static   extern   bool   apiFinishLibrary(); 
                         private   void   button1_Click(object   sender,   EventArgs   e) 
                         { 
                                     apiInitLibrary(String.Empty,   String.Empty,   String.Empty); 
                                     apiFinishLibrary(); 
                         } 
 请问是什么原因,如何解决?
------解决方案--------------------在没有文档支持的情况下调用非C#编写的DLL是常有奇怪的问题发生,原因就是你在用别人封装好的函数,我在这里说一下个人看法: 
 第一次执行apiInitLibrary(String.Empty, String.Empty, String.Empty);完成初始化。 
 第二次执行完毕后变量的相关内存被损坏。 
 第三次执行报告异常原因。   
 楼主你确定一下apiInitLibrary能否被重复执行,有些初始化函数是只能执行一次的,执行多次可能会导致错误。