Spread控件从ActiveX向.NET升级的自动化移植处理方法

文档序号:6503537阅读:484来源:国知局
Spread控件从ActiveX向.NET升级的自动化移植处理方法
【专利摘要】本发明涉及一Spread控件从ActiveX向.NET升级的自动化移植处理方法,包括:(1)读取Spread的移植处理规则文件;(2)读取Spread移植前的.NET代码,判断代码中是否有Spread控件■’(3)当代码中不存在Spread控件,并且.NET代码中还有未处理文件时,读取未处理代码文件;(4)读入一个移植处理规则定义信息,根据移植处理规则以及所读入的.NET代码来判断是否需要执行该项Spread的移植处理规则;(5)根据Spread移植规则定义信息中的具体处理规则,调用该具体处理规则进行代码的移植处理等步骤。与现有技术相比,本发明具有移植效率高,准确率局等优点。
【专利说明】Spread控件从Act i veX向.NET升级的自动化移植处理方 法

【技术领域】
[0001] 本发明涉及一种升级移植的方法,尤其是涉及一种Spread控件从ActiveX向.NET 升级的自动化移植处理方法。

【背景技术】
[0002] 随着.NET技术的出现,越来越多的用ActiteX控件开发的VisualBasic6. 0程序 需要进行升级移植。在升级移植过程中,如果程序中的控件只是利用Microsoft公司的标 准控件开发的时候,利用Visual Studio2008自带升级工具能够很方便高效率地进行升级 移植。由于第三方控件进行的应用软件开发的成本低,功能比Microsoft公司提供的标准 控件的机能强大等因素,在旧有的商用软件中广泛使用第三方控件开发。像这种用第三方 控件开发的程序在.NET升级移植时候,存在移植效率低下,操作处理不方便等现象。
[0003] 对于GrapeCity公司开发的表格处理控件Spread,从ActiveX版的Spread7. 0 控件向.NET版的Spread升级时,由于不存在自动化升级移植工具,Spread表格处理控件 的.NET升级移植效率以及准确性一直是软件开发业界的课题。


【发明内容】

[0004] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种Spread控件从 ActiveX向.NET升级的自动化移植处理方法。
[0005] 本发明的目的可以通过以下技术方案来实现:
[0006] -种Spread控件从ActiveX向.NET升级的自动化移植处理方法,其特征在于,包 括如下步骤:
[0007] (1)读取Spread的移植处理规则文件,初始化文件中定义的具体处理信息;
[0008] (2)读取Spread移植前的· NET代码,判断代码中是否有Spread控件,若存在 Spread控件,执行步骤(4),否则执行步骤(3);
[0009] (3)当代码中不存在Spread控件,并且.NET代码中还有未处理文件时,读取未处 理代码文件,然后返回步骤(2),否则结束;
[0010] (4)读入一个移植处理规则定义信息,根据移植处理规则以及所读入的.NET代码 来判断是否需要执行该项Spread的移植处理规则;如果需要执行移植规则,执行步骤(5); 否则循环执行本步骤,读取下一个移植处理规则定义信息,直至所有的移植规则处理完毕 后,执行步骤(6);
[0011] (5)根据Spread移植规则定义信息中的具体处理规则,调用该具体处理规则进行 代码的移植处理,并更新.NET代码;处理完毕该项移植规则后,返回步骤(4);
[0012] (6)读取经移植处理后.NET代码中的Spread持久状态数据,利用.NET的反射机 制将Spread持久状态数据映射成.NET控件可解析的文件流,然后执行步骤(7);
[0013] (7)通过VisualStudio2008编辑器启动该Spread的· NET控件的设计器,自动导 入步骤¢)中保存的可解析的文件流;然后删除临时可解析的文件流,执行步骤(8);
[0014] (8)删除.NET代码中的Spread持久状态数据;判断.NET代码中是否还有其他的 Spread控件,如有返回步骤(3);若不存在,则执行步骤(9);
[0015] (9)将Spread升级移植完毕的代码写出到新的.NET工程中,如果代码中存在移植 处理规则中未能对应的移植内容,则将信息写入Log文件,以备在后续的升级处理中,通过 追加移植规则,再次进行移植升级处理。
[0016] 所述的Spread的移植规则定义文件为一个XML文件,定义Spread的ActiveX控 件与.NET控件的变换移植信息以及具体处理信息。
[0017] 所述的移植规则包括声明规则、属性规则和方法规则。
[0018] 该方法作为Visual Studio2008开发工具的插件,或作为单独的Spread升级移植 工具。
[0019] 与现有技术相比,本发明具有如下优点:
[0020] (1)移植效率高,准确率高;
[0021] (2)采用自己定义升级移植规则模式,可以方便的对应Spread控件版本间差异, 也可以方便的对移植规则进行修改以对应不同的系统程序要求,具有良好的扩展性。

【专利附图】

【附图说明】
[0022] 图1为本发明的处理流程图。

【具体实施方式】
[0023] 下面结合附图和具体实施例对本发明进行详细说明。
[0024] 实施例
[0025] Spread的移植规则定义文件为一个XML文件,定义Spread的ActiveX控件与.NET 控件的变换移植信息以及具体处理信息。针对不同的移植系统,可以通过修改本移植定义 文件以及扩展变换移植处理,达到客户指定的移植要求。
[0026] 以下对图1中的各步骤进行详细描述:
[0027] 在步骤101中,读取Spread的移植处理规则文件,初始移植处理规则文件中定义 几个具体处理信息;
[0028] 在步骤102中,读取Spread移植前的.NET代码,判断代码中是否有Spread控件, 若存在Spread控件,那么执行201,否则执行步骤103 ;
[0029] 在步骤103中,当代码中不存在Spread控件,并且.NET工程中还有未处理文件 时,读取未处理代码文件,然后执行步骤102 ;
[0030] 在步骤201中,读入一个移植处理规则定义信息,根据移植处理规则以及所读入 的.NET代码来判断是否需要执行该项Spread的移植处理规则,如果需要执行移植规则,执 行步骤202 ;否则循环执行本步骤,直至所有的移植规则确认完毕后,执行步骤301 ;
[0031] 在步骤202中,根据Spread移植规则定义文件中"Actor"所定义的具体处理,调 用该处理进行代码的移植处理,并更新.NET代码,处理完毕该项移植规则后,循环执行步 骤 201 ;
[0032] 在步骤301中,读取.NET窗口 FORM的资源文件(*. resX)中关于Spread的 ActiveX控件的持久状态数据,利用.NET的反射机制将Spread的窗口控件信息写入到临时 文件,然后执行步骤302;
[0033] 在步骤302中,通过VisualStudio2008编辑器启动该Spread的· NET控件的设计 器,自动导入301步骤中保存的临时文件;然后删除临时文件,执行步骤303 ;
[0034] 在步骤303中,删除窗口 FORM的资源文件(*· resX)中该Spread的ActiveX控件 的持久状态二进制数据;判断代码中是否还有其他的Spread控件定义,如有继续执行步骤 201 ;若不存在,则执行步骤401 ;
[0035] 在步骤401中,将Spread升级移植完毕的代码写出到新的.NET工程中,如果代码 中存在规则中未能对应的移植内容,则将信息写入Log文件,以备在后续的升级处理中,通 过追加移植规则,再次进行移植升级处理。
[0036] 基于· Net Framework3. 5版本运行的Spread控件的移植升级处理工具,可作为单 独的执行工具,也可以作为Visual Studio2008的开发插件。在实际项目的Spread控件升 级移植实施过程中,通过本工具能够正确地自动完成约90 %的Spread的机能,属性,事件 处理,控件定义等的升级移植,大大提高了旧系统的升级效率和准确度。
【权利要求】
1. 一种Spread控件从ActiveX向.NET升级的自动化移植处理方法,其特征在于,包括 如下步骤: (1) 读取Spread的移植处理规则文件,初始化文件中定义的具体处理信息; (2) 读取Spread移植前的.NET代码,判断代码中是否有Spread控件,若存在Spread 控件,执行步骤(4),否则执行步骤(3); (3) 当代码中不存在Spread控件,并且.NET代码中还有未处理文件时,读取未处理代 码文件,然后返回步骤(2),否则结束; (4) 读入一个移植处理规则定义信息,根据移植处理规则以及所读入的.NET代码来判 断是否需要执行该项Spread的移植处理规则;如果需要执行移植规则,执行步骤(5);否则 循环执行本步骤,读取下一个移植处理规则定义信息,直至所有的移植规则处理完毕后,执 行步骤(6); (5) 根据Spread移植规则定义信息中的具体处理规则,调用该具体处理规则进行代码 的移植处理,并更新.NET代码;处理完毕该项移植规则后,返回步骤(4); (6) 读取经移植处理后.NET代码中的Spread持久状态数据,利用.NET的反射机制将 Spread持久状态数据映射成.NET控件可解析的文件流,然后执行步骤(7); (7) 通过VisualStudio2008编辑器启动该Spread的· NET控件的设计器,自动导入步 骤(6)中保存的可解析的文件流;然后删除临时可解析的文件流,执行步骤(8); (8) 删除.NET代码中的Spread持久状态数据;判断.NET代码中是否还有其他的 Spread控件,如有返回步骤(3);若不存在,则执行步骤(9); (9) 将Spread升级移植完毕的代码写出到新的.NET工程中,如果代码中存在移植处理 规则中未能对应的移植内容,则将信息写入Log文件,以备在后续的升级处理中,通过追加 移植规则,再次进行移植升级处理。
2. 根据权利要求1所述的一种Spread控件从ActiveX向.NET升级的自动化移植处 理方法,其特征在于,所述的Spread的移植规则定义文件为一个XML文件,定义Spread的 ActiveX控件与.NET控件的变换移植信息以及具体处理信息。
3. 根据权利要求1所述的一种Spread控件从ActiveX向.NET升级的自动化移植处理 方法,其特征在于,所述的移植规则包括声明规则、属性规则和方法规则。
4. 根据权利要求3所述的一种Spread控件从ActiveX向.NET升级的自动化移植处理 方法,其特征在于,该方法作为Visual Studio2008开发工具的插件,或作为单独的Spread 升级移植工具。
【文档编号】G06F9/445GK104216722SQ201310211137
【公开日】2014年12月17日 申请日期:2013年5月30日 优先权日:2013年5月30日
【发明者】陈文生, 张立宇 申请人:步览捷信息科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1