源码下载:ActiveX-Clock-OCX
参照孙鑫的<<VC++深入详解>>中第18章自定义ActiveX中的Clock例子(到18.3节之前),完成了OCX控件的制作,而且也编译(Debug模式)、注册成功了!于是又创建了一个MFC基于对话框的测试程序,在对话框中放入了这个Clock控件,界面如下:
接下来右击Clock控件,选择“属性”,切换到“设置时间间隔面板”,更改时间后,切换到其他一个属性页,这时就出现assert宏异常了,看图:
真是奇怪,孙鑫的教程里也没提到有这个问题。后来试了下在Release模式下编译成功的OCX,发现在切换属性页时却没有这样的问题,一切都是正常的。
看来是优化的问题吧,详情未知,猜测而已!
看到第18章的总结(Page708)才发现,原来孙鑫老师还是提到了这个问题的。
他说出现这种错误的原因是:当将Clock控件放到VB的Form上时,该控件的窗口已经创建,也就是说,CClockCtrl类的OnCr