dll中的函数是LPTSTR conn(LPTSTR m_Addr,int nPort,LPTSTR m_cmd)
在.net中DLLImport调用控件后,执行一次,函数能正常返回结果,如果执行多次就经常出现错误
"accessviolationexception"访问受保护内存,或内存已损坏如何能解决呢,请指教,谢谢.

解决方案 »

  1.   

    当非托管或不安全代码试图读写未分配或不具有访问权限的内存空间时,就会产生访问冲突。这种情况通常因为指针具有错误的值而发生。并非所有通过错误指针的读写操作都会引发访问冲突,所以访问冲突通常指示已经通过错误指针进行多次读写操作,并且内存内容可能已损坏。因此,访问冲突几乎总是指示存在严重的编程错误。在 .NET Framework 2.0 版中,AccessViolationException 清楚地标识了这些错误。在完全由可验证托管代码组成的程序中,所有引用都有效或者为空,因而不会产生访问冲突。AccessViolationException 只在可验证托管代码与非托管代码或非安全托管代码交互时才会引发。
    ------------------------------------------------------------在使用之前,重新初始化一下。 
    看一看,会不会好。