[发明专利]在组态运行时捕获ActiveX控件异常的系统和方法有效
申请号: | 201410116418.9 | 申请日: | 2014-03-26 |
公开(公告)号: | CN104951394B | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 朱从锋;李晓浩;顾慧;范昀;冯隽永;吴晓宁 | 申请(专利权)人: | 上海宝信软件股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 郭国中 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 组态 运行 捕获 activex 控件 异常 系统 方法 | ||
1.一种在组态运行时捕获ActiveX控件异常的系统,其特征在于,包括如下装置:
组态系统,用于组态页面的展示,ActiveX控件作为一个画面元素嵌入到组态页面中;
组态系统异常管理模块,用于将所有的系统可能抛出的异常映射成组态系统自定义的一个异常类型,当系统抛出异常时,转换成该自定义的异常类型进行处理;
组态异常处理模块,用于在组态系统进程的消息链中嵌入异常捕获机制,负责捕获并处理ActiveX控件中进行消息处理时引发的异常;
进一步地,所述组态系统,在加载每个ActiveX控件时,在组态页面中自动创建一个ActiveX容器,在ActiveX容器中创建ActiveX控件,由该ActiveX容器负责捕获并处理ActiveX控件加载和卸载时引发的异常;
所述组态异常处理模块,在组态系统进程调用ActiveX控件方法的触发机制中嵌入异常捕获机制,负责捕获并处理ActiveX控件方法被组态系统调用时引发的异常;
打开画面异常的处理流程具体如下:
a)接收用户打开画面文件的指令;
b)开始逐个读取画面对象,逐个创建;
c)若对象是普通对象,则按照普通对象处理,直接创建到组态画面中;
d)若对象是ActiveX控件,则为该ActiveX控件自动创建一个ActiveX容器,并启动ActiveX创建异常处理;
e)在ActiveX容器中创建真正的ActiveX控件;
f)若创建ActiveX控件时发生异常,ActiveX容器捕获到该异常,弹出提示信息给用户,结束画面创建,关闭该画面;
g)若控件创建无异常,继续读取、创建其它对象,直到所有对象创建完毕;然后开始画面运行。
2.根据权利要求1所述的在组态运行时捕获ActiveX控件异常的系统,其特征在于,所述ActiveX容器在卸载AcitveX控件时,首先ActiveX容器去卸载其加载的ActiveX控件,如果在ActiveX卸载时发生异常,ActiveX容器会捕获到异常并进行处理。
3.根据权利要求1所述的在组态运行时捕获ActiveX控件异常的系统,其特征在于,所述在组态系统进程的消息链中嵌入异常捕获机制,具体为:先截获消息,并传递给后续处理环节,在后续处理环节中发生的系统异常,被映射成组态系统自定义异常类型,被异常捕获机制捕获并处理。
4.根据权利要求1所述的在组态运行时捕获ActiveX控件异常的系统,其特征在于,所述在组态系统进程调用ActiveX控件方法的触发机制中嵌入异常捕获机制,具体为:先截获ActiveX控件方法调用的消息,并传递给实际被调用的ActiveX控件,在ActiveX空间方法调用中发生的异常,被映射成组态系统自定义异常类型,被异常捕获机制捕获并处理。
5.根据权利要求1所述的在组态运行时捕获ActiveX控件异常的系统,其特征在于,关闭画面的异常处理流程具体如下:
a)接收用户关闭某一画面的指令;
b)开始卸载画面对象,若是普通对象,则按照普通对象的卸载机制卸载;
c)若是ActiveX控件,则启动ActiveX控件卸载异常处理;
d)开始卸载ActiveX控件,若发生异常,则记录日志,然后卸载ActiveX容器;若无异常,则直接卸载ActiveX容器;
e)继续其它对象的卸载,直到所有对象卸载完毕,关闭组态画面。
6.根据权利要求1所述的在组态运行时捕获ActiveX控件异常的系统,其特征在于,定时的异常处理流程具体如下:
a)组态应用启动组态画面运行;
b)检测是否包含了ActiveX控件,所包含的ActiveX控件是否启动了定时任务;
c)若无ActiveX控件的定时任务,则按照正常逻辑运行画面;
d)若包含了ActiveX控件的定时任务,则启动ActiveX定时异常处理;
e)检测ActiveX定时异常处理,是否发生异常;
f)若发生了异常,首先记录日志,然后弹出提示框给用户,征求用户的意见,是否要关闭定时器;若用户选择了关闭定时器,则关闭该ActiveX控件的定时任务,若用户选择继续运行,则不关闭定时器,继续对定时任务进行异常捕获;
g)关闭页面时卸载ActiveX定时异常处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海宝信软件股份有限公司,未经上海宝信软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410116418.9/1.html,转载请声明来源钻瓜专利网。