none
MFC ActiveX控件工程 RRS feed

  • 问题

  • win7 vs.net2010新建MFC ActiveX控件工程,调试时出现错误,无法注册.ocx控件,将逐用户重定向设为true,仍然不行,请问如何才能彻底解决问题?
    2012年11月28日 8:16

全部回复

  • 你为这个ActiveX控件指定容器了吗?ActiveX控件不能单独运行,要利用一个可运行的程序来装载控件并进行调试。

    参考这里:如何:调试 ActiveX 控件

    测试ActiveX控件可以用ActiveX Control Test Container(TstCon),但是Visual Studio 2010的Tools(工具)菜单下没有这个选项,需要手动添加进去。添加的方法参考:在VS2010中开发ActiveX控件设置测试容器的方式

    运行TstCon后,在Edit->Insert new control中选择注册好的控件。

    把控件加入窗体进行测试,参考:如何:向 Windows 窗体添加 ActiveX 控件


    Damon Zheng [MSFT]
    MSDN Community Support | Feedback to us

    2012年11月29日 6:02
    版主
  • 指定了容器,是编译能通过,但不能运行,原因是需要管理员身份才能注册activex控件,我尝试过使用管理员身份运行regsvr32进行注册,虽然最终可以调试但每次必须按两次F5,并且每次都提示:

    1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(744,5): warning MSB3073: 命令“regsvr32 /s "E:\myData\Visual Studio 2010\Projects\Sunxin_CH18\Debug\Clock.ocx"”已退出,代码为 5。请验证您是否有足够的权限来运行此命令。
    1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(756,5): error MSB8011: 未能注册输出。请尝试启用“逐用户重定向”,或者使用提升的权限从命令提示符处注册该组件。
    2012年11月29日 12:20