最近用vc做了一个ActiveX控件,出了点问题,就是在注册时总是出现这样的提示框:   LoadLibrary("E:\ActiveX\PowerActiveX\bin\PowerActiveX.ocx")failed -内存分配访问无效。请问这是怎么回事?
小弟就要交东东了,十万火急!!不胜感激!!一定送分!!!

解决方案 »

  1.   

    是不是你的ocx空件在注册时的位置没写对?
      

  2.   

    缺动态链接库吧!PowerActivex.ocx需要动态链接库,但你的机器上没有http://www.dpspace.com
      

  3.   

    只要改Registry表中如下值即可。把下列句子存入TXT文件,再改名到xxx.reg,然后双击Merge。REGEDIT4
    [HKEY_CLASSES_ROOT\dllfile\Shell\Register\command]
    @="RegSvr32 \ "%1\""
    [HKEY_CLASSES_ROOT\dllfile\Shell\Unregister\command]
    @="RegSvr32 /u \ "%1\""
    REGEDIT4
    [HKEY_CLASSES_ROOT\.ocx]
    @="ocxfile"
    [HKEY_CLASSES_ROOT\ocxfile]
    @="OCX"
    [HKEY_CLASSES_ROOT\ocxfile\Shell\Register\command]
    @="RegSvr32 \ "%1\""
    [HKEY_CLASSES_ROOT\ocxfile\Shell\Unregister\command]
    @="RegSvr32 /u \ "%1\""
      

  4.   

    请问howtotell大哥,双击Merge是指哪个Merge,是不是指上面保存的文本文件就Merge.reg?
      

  5.   

    我的ocx的位置也没有问题啊,前些天在另外的一台机子上都好好的,今天换了一台新机子装了系统之后就这样了,所有的设置跟上次一样啊!真的不知道该怎么办啊!
      

  6.   

    1 是的 双击merge.reg文件,不过我看看 这个reg文件好像不能对这个ocx注册!!
    2 你确认这个ocx写的没问题吗?3 建议使用VC带的工具ActiveX control test contain 来注册这个ocx
      

  7.   

    请问dycdyc123(重出江湖):怎么用ActiveX control test contain 来注册啊,能不能说得具体一点啊?我怎么把我的空件加到那里去啊
      

  8.   

    用ActiveX控件本身导出的函数注册不行么?
    //pathName为ActiveX文件名typedef BOOL (CALLBACK *DllRegisterServer)(); 
    DllRegisterServer RegisterOcx;
    if(hinstDLL = LoadLibrary((LPCTSTR)pathName.GetBuffer(pathName.GetLength())))
    {
    RegisterOcx = (DllRegisterServer)GetProcAddress(hinstDLL,"DllRegisterServer");  
    if( RegisterOcx() )
    {
    AfxMessageBox( "注册成功!" );
    }
    else
    {
    //AfxMessageBox( "注册失败!该组件不可用或者已经注册!" );
    }

    }
    else
    {
    AfxMessageBox( "注册组件出错!");
    }
      

  9.   

    只要改Registry表中如下值即可。把下列句子存入TXT文件,再改名到xxx.reg,然后双击Merge。REGEDIT4
    [HKEY_CLASSES_ROOT\dllfile\Shell\Register\command]
    @="RegSvr32 \ "%1\""
    [HKEY_CLASSES_ROOT\dllfile\Shell\Unregister\command]
    @="RegSvr32 /u \ "%1\""
    REGEDIT4
    [HKEY_CLASSES_ROOT\.ocx]
    @="ocxfile"
    [HKEY_CLASSES_ROOT\ocxfile]
    @="OCX"
    [HKEY_CLASSES_ROOT\ocxfile\Shell\Register\command]
    @="RegSvr32 \ "%1\""
    [HKEY_CLASSES_ROOT\ocxfile\Shell\Unregister\command]
    @="RegSvr32 /u \ "%1\""这种方法很好