CN106844077B - 一种控件创建方法及控件创建系统 - Google Patents
一种控件创建方法及控件创建系统 Download PDFInfo
- Publication number
- CN106844077B CN106844077B CN201611219789.5A CN201611219789A CN106844077B CN 106844077 B CN106844077 B CN 106844077B CN 201611219789 A CN201611219789 A CN 201611219789A CN 106844077 B CN106844077 B CN 106844077B
- Authority
- CN
- China
- Prior art keywords
- control
- container
- creating
- main frame
- controls
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Filling Or Discharging Of Gas Storage Vessels (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种控件创建方法及控件创建系统,其中,程序的主框架在利用控件创建方法创建至少一个所需控件时,首先通过创建至少一个独立于主框架之外的控件安全容器,然后在至少一个控件安全容器中创建至少一个所需控件,并记录至少一个所需控件的属性信息,以使至少一个所需控件能够与主框架进行信息交互,从而使主框架能够具备至少一个所需控件的功能。并且在此基础上,当控件安全容器中创建的所需控件由于各种原因崩溃时,仅可能导致创建该所需控件的控件安全容器崩溃,而不会影响到主框架的运行,避免了由于所需控件的崩溃而使主框架崩溃的情况出现,从而避免了出现由于主框架崩溃而导致的数据丢失等影响用户体验的情况出现。
Description
技术领域
本申请涉及软件技术领域,更具体地说,涉及一种控件创建方法及控件创建系统。
背景技术
控件是对数据和方法的封装,在程序中使用控件进行功能扩展是一种非常普遍的行为。因为功能需要和产品接入等因素,部分程序会频繁使用一些控件来实现一些具体功能,具体地,在程序的主框架运行时,会创建(或者说创建或加载)这些所需控件来实现一些具体功能。由于这些控件的来源混杂,可能是同一开发团队的成果,也可能是来源于其他第三方厂商,导致了这些控件的质量参差不齐,质量较差的控件在运行过程中容易由于控件内部的错误导致程序整体崩溃而导致一些丢失数据等影响用户体验的问题。
因此,如何降低由于控件质量较低对程序整体稳定性的不良影响,是软件开发人员亟待解决的问题。
发明内容
为解决上述技术问题,本发明提供了一种控件创建方法及控件创建系统,以实现避免由于控件崩溃而使得程序的主框架崩溃的情况出现,从而提升程序整体稳定性的目的。
为实现上述技术目的,本发明实施例提供了如下技术方案:
一种控件创建方法,应用于程序的主框架,所述控件创建方法包括:
创建至少一个容器,每个所述容器作为一个控件安全容器;
在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
可选的,所述创建至少一个容器,每个所述容器作为一个控件安全容器包括:
根据所需控件数量,创建至少一个容器,每个所述容器作为一个控件安全容器。
可选的,所述在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互包括:
在每个所述控件安全容器中至少创建一个所述所需控件;
每个所述控件安全容器记录其创建的所有所述所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
可选的,所述属性信息包括交互接口信息和窗口信息。
一种控件创建系统,应用于程序的主框架,所述控件创建系统包括:
容器创建模块,用于创建至少一个容器,每个所述容器作为一个控件安全容器;
控件创建模块,用于在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
可选的,所述容器创建模块具体用于根据所需控件数量,创建至少一个容器,每个所述容器作为一个控件安全容器。
可选的,所述控件创建模块包括:
创建单元,用于在每个所述控件安全容器中至少创建一个所述所需控件;
记录单元,用于每个所述控件安全容器记录其创建的所有所述所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
可选的,所述属性信息包括交互接口信息和窗口信息。
从上述技术方案可以看出,本发明实施例提供了一种控件创建方法及控件创建系统,其中,程序的主框架在利用所述控件创建方法创建所述至少一个所需控件时,首先通过创建至少一个独立于主框架之外的控件安全容器,然后在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互,从而使所述主框架能够具备所述至少一个所需控件的功能。并且在此基础上,当所述控件安全容器中创建的所需控件由于各种原因崩溃时,仅可能导致创建该所需控件的控件安全容器崩溃,而不会影响到主框架的运行,并且使所述主框架保存了其他所述控件安全容器中创建的所需控件的功能,最大程度上保证了主框架的运行,避免了由于所述所需控件的崩溃而使所述主框架崩溃的情况出现,从而避免了出现由于主框架崩溃而导致的数据丢失等影响用户体验的情况出现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请的一个实施例提供的一种控件创建方法的流程示意图;
图2为本申请的另一个实施例提供的一种控件创建方法的流程示意图;
图3-图4为当所需控件数量为2时,控件安全容器数量与每个控件安全容器创建的所需控件的关系示意图;
图5-图7为所需控件数量为3时,控件安全容器数量与每个控件安全容器创建的所需控件的关系示意图;
图8为本申请的又一个实施例提供的一种控件创建方法的流程示意图;
图9为本申请的一个实施例提供的一种控件创建系统的结构示意图;
图10为本申请的另一个实施例提供的一种控件创建系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供了一种控件创建方法,如图1所示,应用于程序的主框架,所述控件创建方法包括:
S101:创建至少一个容器,每个所述容器作为一个控件安全容器;
S102:在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
在本实施例中,程序的主框架在利用所述控件创建方法创建所述至少一个所需控件时,首先通过创建至少一个独立于主框架之外的控件安全容器,然后在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互,从而使所述主框架能够具备所述至少一个所需控件的功能。具体地,所述主框架可以通过窗口控制和事件互访等方式实现对所述至少一个所需控件的控制。并且在此基础上,当所述控件安全容器中创建的所需控件由于各种原因崩溃时,仅可能导致创建该所需控件的控件安全容器崩溃,而不会影响到主框架的运行,并且使所述主框架保存了其他所述控件安全容器中创建的所需控件的功能,最大程度上保证了主框架的运行,避免了由于所述所需控件的崩溃而使所述主框架崩溃的情况出现,从而避免了出现由于主框架崩溃而导致的数据丢失等影响用户体验的情况出现。
在上述实施例的基础上,在本申请的一个实施例中,如图2所示,所述创建至少一个容器,每个所述容器作为一个控件安全容器包括:
S1011:根据所需控件数量,创建至少一个容器,每个所述容器作为一个控件安全容器。
具体地,假设所述所需控件数量为2,参考图3和图4,创建的控件安全容器的数量可以为1(如图3),也可以为2(如图4)。假设所述所需控件数量为3,参考图5、图6和图7,在图3-图7中,标号A10表示所述主框架,标号A20表示所述控件安全容器,标号A30表示所述所需控件,创建的控件安全容器的数量可以为1(如图5),也可以为2(如图6),还可以为3(如图7)。即每个所述控件安全容器中至少需要创建一个所述所需控件,避免所述控件安全容器为空的情况出现,因为空的控件安全容器会浪费计算资源。假如在一个所述控件安全容器中加载多个所述所需控件,当其中一个所述所需控件崩溃时,就有可能导致该控件安全容器崩溃,从而使该控件安全容器中的其他所需控件受到“连累”而失去作用,进而使所述程序的主框架失去该控件安全容器所有所需控件的功能,因此在每个所述控件安全容器中只创建一个所述所需控件的方式可以最大化的增加所述所需控件之间的独立性,避免某一所需控件崩溃对其他所需控件的影响。
但如果所述所需控件的数量较多时,在每个所述控件安全容器中只创建一个所述所需控件的方式可能会造成资源的占用量较大,增加程序搭载设备的负担。本申请对每个所述控件安全容器中创建的所需控件的数量并不做限定,具体视实际情况而定。
在上述实施例的基础上,在本申请的又一个实施例中,如图8所示,所述在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互包括:
S1021:在每个所述控件安全容器中至少创建一个所述所需控件;
S1022:每个所述控件安全容器记录其创建的所有所述所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
需要说明的是,所述属性信息包括但不限于交互接口信息和窗口信息。
相应的,本申请实施例还提供了一种控件创建系统,如图9所示,应用于程序的主框架,所述控件创建系统包括:
容器创建模块100,用于创建至少一个容器,每个所述容器作为一个控件安全容器;
控件创建模块200,用于在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
在本实施例中,程序的主框架在利用所述控件创建系统创建所述至少一个所需控件时,首先通过创建至少一个独立于主框架之外的控件安全容器,然后在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互,从而使所述主框架能够具备所述至少一个所需控件的功能。具体地,所述主框架可以通过窗口控制和事件互访等方式实现对所述至少一个所需控件的控制。并且在此基础上,当所述控件安全容器中创建的所需控件由于各种原因崩溃时,仅可能导致创建该所需控件的控件安全容器崩溃,而不会影响到主框架的运行,并且使所述主框架保存了其他所述控件安全容器中创建的所需控件的功能,最大程度上保证了主框架的运行,避免了由于所述所需控件的崩溃而使所述主框架崩溃的情况出现,从而避免了出现由于主框架崩溃而导致的数据丢失等影响用户体验的情况出现。
在上述实施例的基础上,在本申请的一个实施例中,所述容器创建模块具体用于根据所需控件数量,创建至少一个容器,每个所述容器作为一个控件安全容器。
具体地,假设所述所需控件数量为2,参考图3和图4,创建的控件安全容器的数量可以为1(如图3),也可以为2(如图4)。假设所述所需控件数量为3,参考图5、图6和图7,在图3-图7中,标号A10表示所述主框架,标号A20表示所述控件安全容器,标号A30表示所述所需控件,创建的控件安全容器的数量可以为1(如图5),也可以为2(如图6),还可以为3(如图7)。即每个所述控件安全容器中至少需要创建一个所述所需控件,避免所述控件安全容器为空的情况出现,因为空的控件安全容器会浪费计算资源。假如在一个所述控件安全容器中加载多个所述所需控件,当其中一个所述所需控件崩溃时,就有可能导致该控件安全容器崩溃,从而使该控件安全容器中的其他所需控件受到“连累”而失去作用,进而使所述程序的主框架失去该控件安全容器所有所需控件的功能,因此在每个所述控件安全容器中只创建一个所述所需控件的方式可以最大化的增加所述所需控件之间的独立性,避免某一所需控件崩溃对其他所需控件的影响。
但如果所述所需控件的数量较多时,在每个所述控件安全容器中只创建一个所述所需控件的方式可能会造成资源的占用量较大,增加程序搭载设备的负担。本申请对每个所述控件安全容器中创建的所需控件的数量并不做限定,具体视实际情况而定。
在上述实施例的基础上,在本申请的又一个实施例中,如图10所示,所述控件创建模块200包括:
创建单元210,用于在每个所述控件安全容器中至少创建一个所述所需控件;
记录单元220,用于每个所述控件安全容器记录其创建的所有所述所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
需要说明的是,所述属性信息包括但不限于交互接口信息和窗口信息。
综上所述,本申请实施例提供了一种控件创建方法及控件创建系统,其中,程序的主框架在利用所述控件创建方法创建所述至少一个所需控件时,首先通过创建至少一个独立于主框架之外的控件安全容器,然后在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互,从而使所述主框架能够具备所述至少一个所需控件的功能。并且在此基础上,当所述控件安全容器中创建的所需控件由于各种原因崩溃时,仅可能导致创建该所需控件的控件安全容器崩溃,而不会影响到主框架的运行,并且使所述主框架保存了其他所述控件安全容器中创建的所需控件的功能,最大程度上保证了主框架的运行,避免了由于所述所需控件的崩溃而使所述主框架崩溃的情况出现,从而避免了出现由于主框架崩溃而导致的数据丢失等影响用户体验的情况出现。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种控件创建方法,其特征在于,应用于程序主框架,所述控件创建方法包括:
创建至少一个容器,每个所述容器作为一个控件安全容器;
在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互;
所述创建至少一个容器,每个所述容器作为一个控件安全容器包括:
根据所需控件数量,创建至少一个独立于主框架之外的控件安全容器。
2.根据权利要求1所述的控件创建方法,其特征在于,所述在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互包括:
在每个所述控件安全容器中至少创建一个所述所需控件;
每个所述控件安全容器记录其创建的所有所述所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
3.根据权利要求1-2任一项所述的控件创建方法,其特征在于,所述属性信息包括交互接口信息和窗口信息。
4.一种控件创建系统,其特征在于,应用于程序主框架,所述控件创建系统包括:
容器创建模块,用于创建至少一个容器,每个所述容器作为一个控件安全容器;
控件创建模块,用于在所述至少一个控件安全容器中创建至少一个所需控件,并记录所述至少一个所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互;
所述容器创建模块具体用于根据所需控件数量,创建至少一个独立于主框架之外的控件安全容器。
5.根据权利要求4所述的控件创建系统,其特征在于,所述控件创建模块包括:
创建单元,用于在每个所述控件安全容器中至少创建一个所述所需控件;
记录单元,用于每个所述控件安全容器记录其创建的所有所述所需控件的属性信息,以使所述至少一个所需控件能够与所述主框架进行信息交互。
6.根据权利要求4-5任一项所述的控件创建系统,其特征在于,所述属性信息包括交互接口信息和窗口信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611219789.5A CN106844077B (zh) | 2016-12-26 | 2016-12-26 | 一种控件创建方法及控件创建系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611219789.5A CN106844077B (zh) | 2016-12-26 | 2016-12-26 | 一种控件创建方法及控件创建系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844077A CN106844077A (zh) | 2017-06-13 |
CN106844077B true CN106844077B (zh) | 2020-11-13 |
Family
ID=59137034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611219789.5A Active CN106844077B (zh) | 2016-12-26 | 2016-12-26 | 一种控件创建方法及控件创建系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844077B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551753A (zh) * | 2009-04-08 | 2009-10-07 | 腾讯科技(北京)有限公司 | 控制加载插件的装置及方法 |
CN101627380A (zh) * | 2007-03-09 | 2010-01-13 | 微软公司 | 隔离、管理用户界面元素以及与之通信 |
CN102314510A (zh) * | 2011-09-15 | 2012-01-11 | 奇智软件(北京)有限公司 | 一种浏览器控件执行方法及系统 |
-
2016
- 2016-12-26 CN CN201611219789.5A patent/CN106844077B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101627380A (zh) * | 2007-03-09 | 2010-01-13 | 微软公司 | 隔离、管理用户界面元素以及与之通信 |
CN101551753A (zh) * | 2009-04-08 | 2009-10-07 | 腾讯科技(北京)有限公司 | 控制加载插件的装置及方法 |
CN102314510A (zh) * | 2011-09-15 | 2012-01-11 | 奇智软件(北京)有限公司 | 一种浏览器控件执行方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106844077A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020006910A1 (zh) | 业务组件式开发方法、装置、计算机设备及存储介质 | |
US9372762B2 (en) | Systems and methods for restoring application data | |
CN108763405B (zh) | 一种业务数据迁移方法、装置、系统及可读存储介质 | |
CN104142847B (zh) | 云计算环境下的无状态化虚拟机及其应用 | |
CN107092473B (zh) | 桌面应用开发方法及设备 | |
US11016805B2 (en) | Programmatically applying labels to nodes in cluster orchestration platforms | |
CN105912366B (zh) | 一种桌面应用程序插件化的实现方法 | |
WO2017148298A1 (zh) | 混合模型列表项重用的方法及设备 | |
CN103793258A (zh) | 基于管理程序的服务器复制系统及其方法 | |
US10055309B1 (en) | Parallel restoration of a virtual machine's virtual machine disks | |
US9128627B1 (en) | Method and system for virtual machine backup | |
CN107608675B (zh) | 基于虚拟文档对象模型的跨平台前端开发系统及方法 | |
US10061533B1 (en) | Data protection tiering | |
US8661444B2 (en) | Creation of flexible workflows using artifacts | |
CN103493021A (zh) | 虚拟机高可用性 | |
US8850455B1 (en) | Method and system for parent backup application monitoring of children backup applications | |
CN109657427A (zh) | 权限控制的方法及装置 | |
US20150212810A1 (en) | Method and apparatus for executing integrated application program | |
CN107844362B (zh) | 虚拟化tpm设备的系统、方法、虚拟机及可读存储介质 | |
CN106844077B (zh) | 一种控件创建方法及控件创建系统 | |
JP2012208752A (ja) | ライセンス管理装置、ライセンス管理方法、及びプログラム | |
US9734022B1 (en) | Identifying virtual machines and errors for snapshots | |
WO2021135326A1 (zh) | 一种数据备份方法、装置、设备及介质 | |
CN103577246A (zh) | 防止虚拟机逃逸的方法和装置 | |
CN107729107B (zh) | 一种模态对话框处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |