现在一个ACTIVEX控件,编译运行没有问题,但在注册时出错,报内存分配访问失效,
请问各位高手这是什么原因?在线等待一个给分

解决方案 »

  1.   

    出现的错误是这样的:
    Debug Assertion Failed!Program:C:\WINNT\System32\regsvr32.exe
    File:appcore.cpp
    Line:85For information on how your program can cause an assertion
    failure,see the Visual C++ documentation on asserts.(Press Retry to debug the application)点击“忽略”按钮之后弹出以下对话框(其他如上相同,但这次是第92行):ASSERT(afxCurrentWinApp == NULL); // only one CWinApp object please再次“忽略”后出现注册失败的对话框:LoadLibrary("C:\ActiveXCtl\PowerActiveX\bin\PowerActiveX.ocx")failed -内存分配访问失效。注:appcore.app文件是VC++6.0自带的文件
    所报的第85行是: ASSERT(AfxGetThread() == NULL);请问这是什么意思,这个问题我应该怎么样解决?高手请进!万分感谢!上面写错了 ,是一定给分高手救命啊 ...
    在线等待
      

  2.   

    有下面这断代码测试一下BOOL RegOcx(LPCTSTR pszDllName) 

    //装载ActiveX控件 
    HINSTANCE hLib = LoadLibrary(pszDllName); 
    if (hLib < (HINSTANCE)HINSTANCE_ERROR) 

    //MessageBox(NULL,"装载控件失败!","错误",MB_OK); 
    return FALSE; 

    //获取注册函数DllRegisterServer地址 
    FARPROC lpDllEntryPoint; 
    lpDllEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer")); 
    //调用注册函数DllRegisterServer 
    if(lpDllEntryPoint!=NULL) 

    if(FAILED((*lpDllEntryPoint)())) 

    //MessageBox(NULL,"控件注册失败!","错误",MB_OK); 
    FreeLibrary(hLib); 
    return FALSE; 

    //MessageBox(NULL,"控件注册成功","提示",MB_OK); 

    //else 
    //MessageBox(NULL,"控件注册失败!","错误",MB_OK); 
    return TRUE; 
    }
      

  3.   

    我是在windows2000professional下注册的以前是可以注册的,但是这次我重新注册一下就出现了这样的错误,
    我开始一位还是vc的问题,我重装了vc也还是那样的问题
    我又重装了操作系统,但还是老样子我想问那个错误大致是个什么意思,能不能说说看在线等...