我用VB调用VC6.0写的一个DLL时,调用时,已成功操作,可是当程序退出时总会出现"0x7c9318d0"指令引用"00000"内存,该内存不能为written"的错误

解决方案 »

  1.   

    不是传参的问题就是DLL里面的问题,内存访问越界
    很有可能你传入的参数在DLL里面修改后越界了,你要Check你传进去的参数空间大小是否正确
      

  2.   

    同样的一个DLL里的一个函数,在delphi里调用没出错,但在VB调用时出错了,我叫供应商帮我测下,他们硬是说他们delphi里调用没问题,不用测.
    参为有指针,我用数组代替,不知是不是这样的没问,可是如是这样的话,我怎么来传指针?
      

  3.   

    看看VC的函数定义和VB的函数定义看看。
      

  4.   

    vb 中的数组传之前要初始化大小,不能小于 DLL 中需要的大小
      

  5.   

    neil_cn说的方法真的可行了,我本来我最多只会找到二个返回数.
    但那个数组百要定义到大于100才行,不然就出错!!!流汗呀