这两天,我按照书本实例做了一个名"Clock"的ActiveX控件,已经测试和注册成功,它能像别的系统提供的ActiveX控件一样加载到应用程序工程中,却不能像标准控件那样托放到对话框中,只要添加该控件到对话框中,程序就因出错而非法关闭,接着报错说:"The AcTive X control cannot be instantiated."最后 VC开发平台就会因出错而非法关闭,(见附件图片显示那样),这是为什么? 

解决方案 »

  1.   

    在Activex 控件测试容器里能加载它吗?
      

  2.   

    能啊,我已经在Tools->ActiveX Control Test Container中测试过了,时钟也能正常走动啊,而且也将Clock.ocx复制到C:\WINDOWS\system32目录下了,
    用命令Regsvr32 Clock.ocx注册,也显示成功了(Clock.ocx 中的DllRegisterServer成功)。
      

  3.   


    project--add to project-- components and controls
    把控件加入到工程里试试
      

  4.   

    是要Clock.ocx文件还是整个工程文件?
      

  5.   

    那我上传Clock.ocx 控件到我的空间的资源里去,请去帮我看看吧!谢谢!
      

  6.   

    少了 DECLARE_PROTECT_FINAL_CONSTRUCT()
      

  7.   

    那我把DECLARE_PROTECT_FINAL_CONSTRUCT()放到控件类里试试。
      

  8.   

    To jinghao666666 :
       why?能具体说明一下吗?
      

  9.   

    以前貌似碰到过类似问题:
    控件创建时的问题。 楼主多注意一下 控件中的指针。
    Deleate 指针一定要小心。