"OX04ae6d24"指令引用的“0X00000000”内存。该内存不能为“WRITTEN”.
要中止程序,请单击确定
要调试程序,请单击取消
请问有什么错误才会有这样的提示??

解决方案 »

  1.   

    这个一般是进程外的调用错误,比如错误的使用API函数;使用后期绑定的DLL错误等。
      

  2.   

    使用后期绑定的DLL???
    是什么意思???
      

  3.   

    这样子的(我个人理解,现在没装MSDN):
    简单来讲,一般VB程序调DLL可以有两种调用方式:前期绑定和后期绑定。前期绑定是指把DLL的对象实例加入到(用“加入到”这个词不知合不合试。。)主程序的进程中执行,这样它和在主工程里创建类并创建类的实例的方式和效率是一样的,比如代码是这样:
    dim objMyClass as MyDll.clsMyClass'这里的MyDll是一个activex dll,clsMyClass是它的一个类成员
    set objmyclass=new mydll.clsmyclass'创建实例
    ...
    使用前期绑定的方法必须在工程中引用DLL,否则会出错。
    再来说说后期绑定,是指在程序调用DLL时,将会创建一个进程来执行而不是加入到主程的进程中(这是简单理解,具体的机制我也不了解)。这样调用DLL可以不在工程里引用这个DLL,但是跨进程的调用效率是比较低的(相比前期绑定),代码是这样:
    dim objMyClass as object
    set objmyclass=createobject("MyDll.clsMyClass")
    ...
    MS在MSDN中告诉我们在VB中调用activex dll最好使用前期绑定的方式。
      

  4.   

    en ,那偶用的就是前期绑定,我这个程序中也没有用API,还有没别的可能出现这样的错误