软件安装完以后,程序运行的时候,出现非法操作,dbgrid32.ocx无效页错误,msrdc20.ocx是can't connect romote data object,手工注册也不行.多谢!

解决方案 »

  1.   

    regsvr32 msrdc20.ocx
    regsvr32 dbgrid32.ocx
    提示成功,但还是有上述错误
      

  2.   

    不知道你怎么手工注册的,不过应该是拷贝到系统的SYSTEM32文件夹中然后在用上面的方法注册
      

  3.   


    //pszDllName  dll或ocx的路径如 c:/1.dll
    void MyRegisterFunc(LPCTSTR pszDllName)
    {
    //ActiveX 控 件 的 路 径 及 文 件 名
    //LPCTSTR pszDllName="c:/1/LineSym.dll";
       // 装 载ActiveX 控 件
    HINSTANCE hLib = LoadLibrary(pszDllName);
    if (hLib < (HINSTANCE)HINSTANCE_ERROR)
    {
    ::MessageBox(NULL,"不能载入dll文件!","结果",MB_OK);
    return;
    }
    // 获 取 注 册 函 数DllRegisterServer 地 址
        FARPROC lpDllEntryPoint; 
        lpDllEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer"));
          // 调 用 注 册 函 数DllRegisterServer
    if(lpDllEntryPoint!=NULL)
        {
    if(FAILED(( *lpDllEntryPoint)()))
    {
    ::MessageBox(NULL,"调用DllRegisterServer失败!","结果",MB_OK);
    FreeLibrary(hLib);
    return;
    };
    ::MessageBox(NULL," 注 册 成 功"," 结 果",MB_OK);
         }
         else
    ::MessageBox(NULL," 调用DllRegisterServer失败!","结 果",MB_OK);
    }