比如我创建了一个AxCuImg.ocx的控件,那么MFC的ActiveX向导就会创建一个CAxCuImgApp类,它的父类是COleControlModule,会创建一个CAxCuImgCtrl类,父类是COleControl。那么我在同一个JS页面中,添加2个(或以上)的ocx对象时,好像CAxCuImgApp构造函数只调用了一次,CAxCuImgCtrl调用了2次(或以上),为什么会这样了。
好像实例化时在CAxCuImgApp中会创建一个队列,用来管理CAxCuImgCtrl,为什么会这样呢? 好像和多文档框架有点像?真心讨教ocx创建多个相同实例的内幕问题,以及要注意的地方?求大牛?
好像实例化时在CAxCuImgApp中会创建一个队列,用来管理CAxCuImgCtrl,为什么会这样呢? 好像和多文档框架有点像?真心讨教ocx创建多个相同实例的内幕问题,以及要注意的地方?求大牛?
解决方案 »
- 难道只能是绝对路径吗?
- 带图标的编辑框是怎么做出来的?
- 一般用installshield做安装程序,序列号是怎么干的?
- 如何捕获Listctrl水平滚动条的消息?
- VC中如何能实现优化大师中的禁用系统某些选项的功能?
- javascript中的正则表达式对象用的哪个COM?
- 请教BIG5码转换成GBK码的算法。
- 如何开发一个汉字输入法的程序(vc++)?
- 500分高热度!程序员专业背景大调查!大家快来参加!你所学的专业、你的学历、你目前的职务、你目前的工作方向、你目前的月薪、工作地点!
- 大家来谈谈《设计模式〉(desing patterns)这本书
- 请教关于RegSetValueEx修改注册表的问题
- openMP优化-cpu问题
和int i,j,k;
一样
一个wrapper 类?不太懂。。
我用的是ocx只加载一次,一个对象你用的每个对象间是独立的?
哦,就是现在不知道JS做页面的人,不知道用了什么页面来加载我的ocx,在关闭该页面的时候,CAxCuImgApp类不析构,而CAxCuImgCtrl类析构了的,这样下次再打开该页面的话CAxCuImgApp对象还在,且不是很危险?有时候,一个页面上是希望加载多个对象的
组件代表某个产品,可创建多次,看应用需要多少个组件。就像电视机厂家,厂房只需要一个,里面有生产线设备,可以制造多台电视机。
厂房 <==> 模块
生产线设备 <==> 类厂
电视机 <==> 组件
恩,这个我明白, 那么这个APP应该在页面关闭的时候就析构了吧,但是我们的JS不知道是用的什么 frame加载的OCX,切换到其他页面,Ctrl 析构了,但是APP没有析构.
你这里说的卸载是值卸载出内存,还是类似regsvr32 -u XXXocx 这样的撤销在操作系统上的注册呢?为甚么只有卸载才会析构 APP呢? (这个问题好像比较难)
只有FreeLibrary导致DLL从进程中清理出去时,App的析构函数才会被调用。一个模块中只有一个全局的App对象,加载模块就会执行App的构造函数,卸载模块就析构。不知道解释明白没