流用完close,声明的时候用using嵌套

解决方案 »

  1.   

    曾经在csdn有一个人 每次有问题的时候 都重新注册一个ID..每次问题的标题 都是已'小女子'开头.............我说的没错吧 小女子...!
      

  2.   

    第一,我个人觉得如果只是用到了intptr,好像不用unsafe吧
    第二,内存的错误,我个人以为啊,你的报错多半是出在释放指针的地方,也就是Marshal.FreeHGlobal(outlist)这里。如果是这里的话,你最好debug看一下,你的代码走到这一步但是还没有执行的时候,你的out指针有没有值
      

  3.   

    等等,为什么你的if判断的里面和外面的代码是一样的啊·····
    是不是你逻辑写错了如果你的非托管函数返回0(未成功),和返回非0(成功),你都用的同一样的办法获取str啊你看看if为0的时候的 str2 = Marshal.PtrToStringAnsi(outlist);估计你的指针都没有值,你就用了转换为ansistr的方法
      

  4.   

    "尝试读取或写入受保护的内存,这通常是指内存已经损坏",出现这个问题,就是你使用的对象(一般是com对象)已经释放,在使用就出现错误,请跟踪你自己长生的对象,或者获取的对象中途是否释放过
      

  5.   

    CSDN好多小女子 =.= ,各位小女子们别自称小女子了。。