[发明专利]CAD中外部集成进程调用主程序进程的方法及装置有效
申请号: | 201110341804.4 | 申请日: | 2011-11-02 |
公开(公告)号: | CN102426537A | 公开(公告)日: | 2012-04-25 |
发明(设计)人: | 倪永全;桓永兴;涂德海 | 申请(专利权)人: | 北京数码大方科技有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 吴贵明;梁丽超 |
地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | cad 外部 集成 进程 调用 主程序 方法 装置 | ||
技术领域
本发明涉及计算机软件领域,具体而言,涉及一种CAD中外部集成进程调用主程序进程的方法及装置。
背景技术
随着CAD软件的发展,对CAD的扩展能力提出了很高的要求。解决办法就是开放二次开发接口,使得用户可以将额外的功能模块也就是“插件”附加到CAD程序上。
但是,这种处理方式没有很好解决主程序和插件可能存在的冲突问题,因为主程序和插件的开发往往是由不同的开发商进行,如果插件的开发者在开发插件时引用到了某个和CAD软件开发商组件相同但版本不同的控件或组件,如BCG控件等,此时就有可能出现冲突的情况,甚至导致CAD启动失败。另一方面,插件的不稳定往往影响到CAD主程序,如果插件崩溃了往往导致整个CAD程序的崩溃,从而可能导致用户数据的丢失。
目前,一般通过调用COM接口或脚本的方式来加载外部集成应用,实际程序被加载到CAD主程序的进程空间中。但是,上述技术方案会存在以下缺点:1)所有插件被加载到CAD主进程中,某一个插件崩溃可能导致整个CAD程序的崩溃。2)兼容性较差,CAD进程引用的组件若和CAD不一致可能导致CAD无法启动。3)性能较差,多个插件共享同一个进程的资源,无法充分利用CPU并行的能力。
针对相关技术中的上述问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种CAD中外部集成进程调用主程序进程的方法及装置,以解决上述问题至少之一。
根据本发明的一个方面,提供了一种CAD中外部集成进程调用主程序进程的方法,包括:启动CAD主程序进程;为CAD主程序的集成应用创建一个与CAD主程序进程进行交互的独立运行的外部集成进程;外部集成进程响应于用户操作,调用主程序进程执行与用户操作对应的功能。
上述外部集成进程响应于用户操作包括:将外部集成进程的集成界面嵌入到主程序进程中的主界面容器中;接收用户通过嵌入到主界面容器中的集成界面执行的操作命令。
将外部集成进程的集成界面嵌入到主程序进程中的主界面容器中,包括:外部集成进程通过调用Windows应用程序接口API中的设置父窗口函数SetParent将集成界面嵌入到主界面容器中。
将外部集成进程的集成界面嵌入到主程序进程中的主界面容器中之前,包括:启动主程序进程,在主程序界面中加入集成界面容器,并将集成界面容器的句柄传输给外部集成进程。
启动CAD主程序进程之后,还包括:将集成插件加载至主程序进程,并在加载的集成插件中建立预先定义的CAD功能接口的实例;将实例作为运行对象表的ROT对象注册到ROT列表中。
上述方法还包括:响应用户通过主程序执行的指定操作,并将执行结果反馈给主程序。
上述外部集成进程调用主程序进程执行与用户操作对应的功能,包括:外部集成进程获取当前的ROT列表;外部集成进程遍历获取的ROT列表中的ROT对象并查询得到需要的ROT对象;外部集成进程通过查询得到的ROT对象调用主程序进程执行与用户操作对应的功能,以及通过查询得到的ROT对象响应主程序进程的指定操作,并向主程序进程反馈结果。
上述方法还包括:主程序进程通过查询得到的ROT对象向外部集成进程发送消息或事件。
根据本发明的另一方面,提供了一种CAD中外部集成进程调用主程序进程的装置,包括:启动模块,用于启动CAD主程序进程;创建模块,用于为CAD主程序的集成应用创建一个与CAD主程序进程进行交互的独立运行的外部集成进程;调用执行模块,用于在外部集成进程响应于用户操作时,调用主程序进程执行与用户操作对应的功能。
上述装置还包括:嵌入模块,用于将外部集成进程的集成界面嵌入到主程序进程中的主界面容器中;接收模块,用于接收用户通过嵌入到主界面容器中的集成界面执行的操作命令。
通过本发明,采用为集成应用对应的外部集成进程与主程序进程独立运行的技术手段,解决了相关技术中由于所有插件被加载到CAD主程序进程中,某一个插件不稳定可能导致整个CAD程序的崩溃以及由于多个插件共享同一个进程无法充分利用CPU并行的能力的技术问题,进而达到了提高CAD主程序的启动速度、减少集成开发难度以及提高了CAD程序的稳定性的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京数码大方科技有限公司,未经北京数码大方科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110341804.4/2.html,转载请声明来源钻瓜专利网。