可扩展的自动化开发环境.pdf

上传人:00****42 文档编号:1025132 上传时间:2018-03-26 格式:PDF 页数:27 大小:1.02MB
返回 下载 相关 举报
摘要
申请专利号:

CN200780045257.7

申请日:

2007.10.16

公开号:

CN101578581A

公开日:

2009.11.11

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F9/44

主分类号:

G06F9/44

申请人:

因文西斯系统公司; 桑迪普·沙希坎特·库尔卡尼

发明人:

S·S·库尔卡尼; G·兰加纳拉斯姆罕

地址:

美国马萨诸塞州

优先权:

2006.10.16 US 60/829619; 2007.1.5 US 11/650024

专利代理机构:

中国国际贸易促进委员会专利商标事务所

代理人:

李向英

PDF下载: PDF下载
内容摘要

本发明提供了可扩展的自动化开发环境。所述环境是具有它自有权利的完整开发环境,除支持它自己固有对象之外,也允许集成外来的(或“定制的”)自动化对象。定制的命令和定制的事件也集成到所述环境中并且由处理固有命令和事件的同一框架处理。由所述环境提供的工具能够与定制的对象以及固有对象合作。例如,公共编辑器的扩展到合并了处理定制数据字段的定制编辑器。公共浏览器的扩展到无缝地合并了可以对来自定制数据库的定制自动化对象进行操作的定制浏览器。一切软件实体,固有的和定制的,都能够在单一的框架内开发和监控。用户操作时无缝地跨越多机种自动化环境,甚至在所述环境中的定制实体也符合其自己的操作标准。

权利要求书

1.  一种可扩展的自动化开发系统,被配置为允许将定制的自动化对象集成到所述系统中,所述系统包括:
公共浏览器,被配置为显示来自所述自动化开发系统的数据;
公共对象编辑器,被配置为编辑所述自动化开发系统中的数据;
一组公共命令,由所述自动化开发系统中的对象执行;
对于所述公共命令的至少一个子集的每条命令,用于执行所述命令的接口;
一组公共事件,由所述自动化开发系统中的对象响应;
对于所述公共事件的至少一个子集的每个事件,用于响应所述事件的接口;
用于将定制的命令添加到所述自动化开发系统的接口,所述定制的命令将由定制的自动化对象执行;以及
用于将定制的事件添加到所述自动化开发系统的接口,所述定制的事件将由定制的自动化对象响应。

2.
  根据权利要求1的可扩展自动化开发系统,其中,所述公共浏览器包括:
用于添加定制的浏览器的接口,所述定制的浏览器被配置为显示来自定制自动化对象的数据。

3.
  根据权利要求1的可扩展自动化开发系统,其中:
所述公共浏览器被配置为呈现定制的标签并且执行定制的过滤操作。

4.
  根据权利要求1的可扩展自动化开发系统,进一步包括:
用于添加定制对象编辑器的接口,所述定制对象编辑器被配置为编辑定制自动化对象中的数据。

5.
  根据权利要求1的可扩展自动化开发系统,进一步包括:
公共视图,选自包括以下视图的集:模型视图、部署视图和导出视图;以及
用于将定制视图添加到所述自动化开发系统的接口。

6.
  根据权利要求1的可扩展自动化开发系统,进一步包括:
公共数据库,所述公共数据库包括公共自动化对象模板以及所述公共自动化对象模板的至少一个子集的实例;以及
定制的数据库,所述定制的数据库包括定制的自动化对象。

7.
  根据权利要求1的可扩展自动化开发系统,进一步包括:
定制的自动化对象;
其中,所述定制的自动化对象的开发方不同于用于执行公共命令的所述接口和用于响应公共事件的所述接口的开发方。

8.
  根据权利要求7的可扩展自动化开发系统,其中:
所述定制的自动化对象包括的句柄选自包括以下句柄的组:执行所述公共命令的至少一个的定制句柄和响应所述公共事件的至少一个的定制句柄。

9.
  一种浏览可扩展自动化开发系统中数据的方法,所述方法包括:
使用公共浏览器显示来自所述自动化开发系统的数据,所述公共浏览器包括用于添加定制的浏览器的接口;
使用所述接口添加定制的浏览器;以及
使用所述定制的浏览器显示来自定制的自动化对象的数据。

10.
  根据权利要求9的浏览可扩展自动化开发系统中数据的方法,其中:
所述公共浏览器被配置为呈现定制的标签并且执行定制的过滤操作。

11.
  根据权利要求9的浏览可扩展自动化开发系统中数据的方法,其中:
所述定制的浏览器的开发方不同于所述公共浏览器的开发方。

12.
  根据权利要求9的浏览可扩展自动化开发系统中数据的方法,其中:
所述公共浏览器被配置为显示来自公共数据库的数据,所述公共数据库包括公共自动化对象模板以及所述公共自动化对象模板的至少一个子集的实例;以及
其中所述定制的浏览器被配置为显示来自定制的数据库的数据,所述定制的数据库包括所述定制的自动化对象。

13.
  一种包含用于执行浏览可扩展自动化开发系统中数据的方法的计算机可执行指令的计算机可读的介质,所述方法包括:
使用公共浏览器显示来自所述自动化开发系统的数据,所述公共浏览器包括用于添加定制的浏览器的接口;
使用所述接口添加定制的浏览器;以及
使用所述定制的浏览器显示来自定制的自动化对象的数据。

14.
  一种将定制的自动化对象集成到可扩展自动化开发系统中的方法,所述方法包括:
在所述定制的自动化对象中包括执行所述自动化开发系统中公共命令的方法,所述方法符合所述自动化开发系统为执行所述公共命令所提供的接口;
在所述定制的自动化对象中包括响应所述自动化开发系统中公共事件的方法,所述方法符合所述自动化开发系统为响应所述公共事件所提供的接口;
在所述定制的自动化对象中包括执行定制的命令的方法;以及
向所述自动化开发系统添加所述定制的命令,所述添加符合所述自动化开发系统为添加定制的命令所提供的接口。

15.
  根据权利要求14的将定制的自动化对象集成到可扩展自动化开发系统中的方法,进一步包括:
在所述定制的自动化对象中包括响应定制的事件的方法;以及
向所述自动化开发系统添加所述定制的事件,所述添加符合所述自动化开发系统为添加定制的事件所提供的接口。

16.
  根据权利要求14的将定制的自动化对象集成到可扩展自动化开发系统中的方法,进一步包括:
向所述自动化开发系统添加定制的浏览器,所述添加符合所述自动化开发系统为添加定制的浏览器所提供的接口,所述定制的浏览器被配置为显示来自所述定制的自动化对象的数据。

17.
  根据权利要求14的将定制的自动化对象集成到可扩展自动化开发系统中的方法,进一步包括:
向所述自动化开发系统添加定制的对象编辑器,所述添加符合所述自动化开发系统为添加定制的对象编辑器所提供的接口,所述定制的对象编辑器被配置为编辑所述定制的自动化对象中的数据。

18.
  根据权利要求14的将定制的自动化对象集成到可扩展自动化开发系统中的方法,进一步包括:
向所述自动化开发系统添加定制的视图,所述添加符合所述自动化开发系统为添加定制的视图所提供的接口。

19.
  根据权利要求14的将定制的自动化对象集成到可扩展自动化开发系统中的方法,进一步包括:
向所述自动化开发系统添加定制的数据库,所述定制的数据库包括所述定制的自动化对象。

20.
  根据权利要求14的将定制的自动化对象集成到可扩展自动化开发系统中的方法,其中:
所述定制的自动化对象的开发方不同于用于执行所述公共命令的所述接口、用于响应所述公共事件的所述接口以及用于添加定制的命令的所述接口的开发方。

21.
  一种包含用于执行将定制的自动化对象集成到可扩展自动化开发系统中的方法的计算机可执行指令的计算机可读的介质,所述方法包括:
在所述定制的自动化对象中包括执行所述自动化开发系统中公共命令的方法,所述方法符合所述自动化开发系统为执行所述公共命令所提供的接口;
在所述定制的自动化对象中包括响应所述自动化开发系统中公共事件的方法,所述方法符合所述自动化开发系统为响应所述公共事件所提供的接口;
在所述定制的自动化对象中包括执行定制的命令的方法;以及
向所述自动化开发系统添加所述定制的命令,所述添加符合所述自动化开发系统为添加定制的命令所提供的接口。

说明书

可扩展的自动化开发环境
相关申请的交叉引用
本申请要求2006年10月16日提交的美国临时专利申请60/829,618,“Extensible Automation Development Environment”的优先权,其全部内容在此引用作为参考。
技术领域
一般来说,本发明涉及自动化控制的计算机软件,更确切地说,涉及开发自动化控制对象的可扩展环境。
背景技术
工业日益增长地依赖于高度自动化的数据采集和控制系统,以确保工业过程运行高效且可靠,同时降低整体生产成本。数据采集开始于传感器测量工业过程的情况并向数据收集和控制系统回报其测量结果之时。这样的测量结果可能包括例如温度、压力、pH、材料的质量或体积流、穿过具体机器或工艺的物品计数、航海线上等待的包装的记载存货。精密的工艺管理软件考察输入的测量结果,产生状态报告和运行概要,并且在许多情况下通过发送命令到控制器以修改工业过程至少一部分的运行来响应事件和操作员指令。传感器、控制器和工艺管理软件一起的这些系统允许操作员执行许多监督任务,包括响应变化的外部条件而调整所述过程,检测低效或非最优的运行条件或迫在眉睫的装备故障,以及采取补救措施,比如使装备投入和退出使用。
为了允许操作人员跟上高深的工业过程,人机界面(“HMI”)系统被链接到数据源,消化其数据测量结果,然后驱动可视化应用程序,为操作员呈现工业过程的图形视图。典型的HMI包括工业过程及其物理输出的一组图形视图。每个视图又包括一个或多个图形元素。某些图形元素为“动画”,因为其显示状态随着输入数据测量结果的改变而改变。例如,精炼工艺的HMI可以包括储油罐的视觉描述。油罐的描述包括的指示器显示油罐中液面,并且该视觉指示器随着传感器测量实际油罐中液面的测量结果而升降。已经发现观察人对这种类型的动画的理解比简单的测量结果流容易得多。由HMI应用程序提供的图形图像也用于描述和便利修改当前工艺的设定值。
典型情况下,工业过程的物理传感器和控制器由称为自动化对象的一组软件模拟元素链接到HMI。几家零售商提供用于自动控制的软件,从为特定物理传感器和控制器(往往由提供自动化对象的同一零售商制造)调整的自动化对象到开发环境和管理自动化对象的数据库,直到完全基于HMI的监督和控制系统。典型情况下,每家零售商都公布了开发人员必须遵循的一套标准以便在工作中利用零售商的产品。这些标准能够定义,例如用于开发对象,用于将这些对象部署到相关系统中,以及用于操作企业范围工业过程的对象模板、对象界面、数据、方法、脚本和命令。
发明内容
考虑到上述情况,本发明提供了可扩展的自动化开发环境。所述环境是具有它自有权利的完整开发环境,除支持它自己固有对象之外,也允许集成外来的(或“定制的”)自动化对象。定制的命令和定制的事件也集成到所述环境中并且由处理固有命令和事件的同一框架处理。由所述环境提供的工具能够与定制的对象以及固有对象合作。例如,公共编辑器扩展以合并处理定制数据字段的定制编辑器。公共浏览器扩展以无缝地合并可以对来自定制数据库的定制自动化对象进行操作的定制浏览器。一切软件实体,固有的和定制的,都能够在单一的框架内开发和监控。
所述可扩展的开发环境支持为其他系统开发的自动化应用程序以及专门为本环境开发的自动化应用程序。为其他环境开发的对象能够在本环境中重用而不是再开发。所述环境在定制对象的整个生命周期(开发、维护、部署和操作)都支持它们。
开发人员不必学习其他专属开发环境的特性便提高了其在所述可扩展环境中的熟练程度。用户操作时无缝地跨越多机种自动化环境,甚至在所述环境中的定制实体也符合其自己的操作标准。第三方开发人员可以为其自己的应用程序而使用所述可扩展的环境,从而提高了由所述环境提供的价值。
附图说明
虽然附带的权利要求书具体地阐明了本发明的特征,不过,连同附图参考以下详细说明,可以最好地理解发明以及其目的和优点,其中:
图1是根据本发明的可扩展自动化开发环境的示意图;
图2是与可扩展自动化开发环境合作的自动化运行时环境的示意图;
图3是合并了定制的命令的对象的数据结构图;
图4是将定制的自动化对象集成到自动化开发环境中的方法流程图;
图5是与定制的浏览器合作的公共浏览器的示意图;
图6是与定制的浏览器合作的公共浏览器的方法流程图。
具体实施方式
转向附图,其中相同的附图标记指相同的要素,本发明展示为在适合的环境中实施。以下说明基于本发明的实施例,关于本文未明显介绍的替代实施例,不应当视为限制本发明。
今天,当零售商开发软件自动化对象以模拟工业控制环境的要素时,开发该对象将遵守特定开发环境的已发布标准集。使用该对象需要遵守这些同样的标准。这些标准往往是零售商的私有财产并且典型情况下,这些标准将所述对象约束到零售商的特定自动化环境和运行时环境。
本发明对自动化开发环境添加了可扩展性,所以对象不必约束到开发它们的那种环境。第三方的开发人员根据新的可扩展开发环境所提供的可扩展性环境创建对象和工具。然后,用户看到的是统一的对象模型,它既包括出自于可扩展开发环境的对象也包括为其开发的任何第三方对象(注意,在本文档中,使用“公共”描述出自于可扩展环境的事物,而使用“定制”描述利用环境的可扩展性功能添加到环境的事物)。统一的对象模型支持自动化系统的开发、维护、部署和最终的操作,该自动化系统运行时跨越标准和专属的硬件和软件平台。
本发明中概念的普通程度足以添加到几种熟知的非可扩展自动开发环境的任何一种。优选情况下,创建的全新自动化开发环境以可扩展性作为其核心特点之一。
图1是可扩展自动化开发环境100的一个实施例的要素广义概述。可扩展开发环境100可以概念化地包括三个主要部分:视图和对话102、对象命令和事件104以及全局命令和事件106。图1显示的概念仅仅是许多可能性之一而非试图以任何方式限制本发明权利要求的范围。
图1的可扩展环境100与当前成批的非扩展开发环境共享了许多特点。可扩展开发环境100内的结构化对象现在常常能够表现为模板。用户从这些模板导出在运行时彼此互动的对象实例以便表现运行自动化环境的要素。
在图1的视图和对话102部分中,组织对象时使用了代表不同组织观点的功能视图:它们包括模型108、部署110和导出112的视图。定制视图114和定制对象编辑器122对于本发明是新的。第三方可以开发定制视图114以新的见解呈现对象组织。浏览器118可以扩展为处理以下参考图5和图6所讨论的定制对象。为此目的,使用可扩展开发环境100中定义的方法和接口将这些定制工具添加到了可扩展开发环境100。
因为以上介绍的可扩展工具,可扩展开发环境100支持定制对象和定制数据。可扩展开发环境100中运行的对象,无论是公共的还是定制的,都预期智能地响应由可扩展开发环境100所提供的一组定义的公共命令和公共事件,以便在构思、管理、升级、部署和操作对象中使用。图1的方框104列出了这样的公共命令和事件的示范集。方框104还包括定制134的命令和事件。它们被添加到了可扩展开发环境100以便由定制对象使用。添加定制148的命令和事件也丰富了全局命令和事件106的集。用户还可以使用可扩展开发环境100提供的接口替换现有的命令。
这些可扩展性功能允许第三方快速地将其产品添加到可扩展开发环境100。这就提高了环境100自身作为开发平台的价值,因为开发人员不需要学习多个环境错综复杂的状况或特征。全部通过一个统一的环境100,他们能够以由许多不同各方提供的对象工作,包括专属对象。
通过考虑可扩展开发环境100与图2所示的广义运行时环境200的关系,可以进一步地认识到开发环境100的益处。公共对象和数据驻留在公共数据库212中,同时环境100、200还容纳着包括定制对象、数据和检索方法的定制数据库214。因为开发环境100的可扩展性功能,运行时环境200既运行在公共硬件202上也运行在定制硬件204上。在公共硬件202上既驻留着公共运行时环境206也驻留着定制运行时环境208。可扩展性功能允许所有这些部件无缝地工作在一起,以便向用户提供统一的开发和运行环境。
因此,可扩展开发环境100提高了第三方对象的价值,因为这些对象现在能够在多个环境中运行而不需要修改和重复的工作量。统一的对象模型简化了开发、部署、维护和操作,方式为在不同种类的系统之间允许无须修改地发布命令。工具以相同方式与公共和定制对象合作。运行时环境200的若干方面从单一系统中监控。可扩展开发环境100最终可以完全取代对专属系统的需要,因为为了经济地为尽可能广泛的市场开发出新的对象,开发新对象时遵循了其可扩展性方针。
为阐明本发明的若干方面,图3呈现了定制对象300的一般结构。图4呈现了将定制对象300合并到可扩展开发环境100中的方法。定制对象300恰如公共对象,包括用于执行公共命令302和用于响应公共事件304的接口和方法。在图4的步骤400和402,这些接口和方法包括在定制对象300中。
对任何对象300都可以添加执行定制的命令306(步骤404)和响应定制的事件308(步骤408)的接口和方法。这些接口遵循可扩展开发环境100所提供的方针。由于接口遵循已知的方针,所以定制的命令和事件本身以与公共命令和事件同样的方式,被合并到可扩展开发环境100之中(步骤406和步骤410)。一旦将这些定制的命令和事件合并,就能够以与可扩展开发环境100固有命令和事件相同的方式处理它们。
不过,这并不是说可扩展开发环境100“理解”所述定制的命令和事件的意义。相反,通过为这些定制的命令和事件编写句柄并将这些句柄合并到定制对象300之中而提供其含义是定制对象300的第三方开发人员的责任。
除了定制的命令和事件之外,定制对象300还可以包括由可扩展开发环境100提供的工具不直接支持的定制数据结构。为了适应这种情况,可扩展开发环境100的工具本身就是可扩展的,并且本身提供了由第三方开发人员使用的接口。在图4的步骤412,第三方开发人员提供了定制对象编辑器122(见图1)以便操纵定制对象300中的数据结构。在某些实施例中,定制对象编辑器122在可扩展开发环境100为公共数据结构提供的对象编辑器120的“内部”运行。因此,用户只会感知一个统一的对象编辑器。当用户要求编辑定制数据结构时,公共对象编辑器120为该任务调用适合的定制对象编辑器122。
以类似方式,也使其他工具比如图1的公共浏览器118成为可扩展的。图5显示了由公共浏览器118提供的显示500的结构布局,而图6呈现了将定制浏览能力合并到公共浏览器118之中的方法。公共浏览器118显示了公共对象502(图6的步骤600)并显示了定制对象504的公共数据结构506(步骤602)。因为公共浏览器118不理解定制的数据结构,所以它依赖于提供此定制数据结构的第三方开发人员所提供的定制浏览器扩展508(步骤604和步骤606)。公共浏览器118以这种方式变为能够显示合并到可扩展开发环境100中的一切对象。
注意,图5仅仅是展示性的。优选情况下,不以公共对象和定制对象在浏览器118中的显示区分它们。相反,浏览器118通过合并定制的浏览扩展,以无缝、统一的方式呈现一切对象。
浏览器118提供了由其一切扩展所共享的工具栏。扩展能够向公共工具栏添加其自身的按钮,或者能够重用任何公共工具栏按钮。同样,浏览器118也提供了公用状态栏。扩展能够向此状态栏添加其自己的画面,并且能够重用现有的画面显示状态消息。浏览器118允许补充定制的标签和过滤。
以下是能够用于实施本发明的示范接口。它们仅仅是展示性的而不意味着以任何方式界定本发明权利要求的范围。
    IEexternalBroswer
interface IExternalBrowser
{
    //This method is used by the client to initialize the brower with
    //an IpackageManager interface pointer.If this method is not
    //call,then the attribute brower cannot perform any functions.
    void Initialize
    (
         //Poiner to an object that implements IPackageManager
         Object pPackageManager
    );
    //This method is used to show the brower’s user interface.Upon
    //closing,the attribute selected is returned through the
    //strUIData out parameter.
    //Returns true if the user selected OK,otherwise returns false.
    void ShowBrowser UI
    (
         //This parameter denotes any“starting”value that should be
         //passed into the browser object to be used while generating
         //the browser’s UI.
         string strUIData,
         //This out parameter contains the value(s)selected in the UI
         //by the user.If no vaIue is selected,then the value returned
         //is empty.
         out object varSelectedValue
    );
};
    ICommonAttributeBrowser
enum EbrowserReturn Value
{
    //In dicates that a user clicked the OK button.
    eBrowserReturn_Ok,
    //In dicates that a user clicked the Cancel button.
    eBrowserReturn_Cancel,
    //Indicates that a user clicked the Back button.
    eBrowserReturn_Back,
}
interface ICommonAttributeBrowser
{
    //This method is used by the clientto initialize the brower.
    void InitializeBrowser
    (
         //Connection string
         string bstrConnection
    );
    ///This method is used by the clientto uninitialize the brower.
    void UnInitializeBrowser();
    //This method is used to show the brower’s user interface.Upon
    //closing,the attribute selected is returned through the
    //bstrSelctedValue out parameter.
    EbrowserReturnValue ShowBrowser
    (
         //This parameter denotes any“starting”value that should be
         //passed into the browser object to be used while generating
         //the browser’s UI.
         string strUIData,
         //This out parameter contains the value(s)selected in the UI
         //by thc user.If no value is selected,then the value returned
         //is empty.
         out string strSelectedValue,
         int n DisplayMode,
         string str
    );
}
    IaaBrowserControl:由aaBaseBrowserControl实施。
interface IaaBrowserControl
{
    //ControlGuid is a unique identifier of the control.It is used to
    //Identify the plug-in and also can be used by the calling
    //program to determine the type of the returned value and to
    //cast it to the appropriate class.Custom control specifies this
    //value by attaching a custom attribute.
    Guid ControlGuid{get;}
    //This is an interface that contains one or more values returned
    //to the calling program.The calling program uses ControlGuid
    //to determine the types of the returned values and to cast them
    //to their appropriate classes.In this way,the calling program
    //may use values returned by different custom controls.
    IaaReturnValues IReturn Values{get;}
}
    IaaRetu rnValues
public interface IaaReturnValues
{
    //ControlG uid is a unique identifier of the control.
    Guid ControlGuid{get;}
    //Return Values is a class that contains one or more values
    //returned to the calling program.The calling program uses
    //the ControlGuid value to determine the types of the return
    //values and to cast them to their appropriate classes.In this
    //way,the calling program may use values returned by different
    //custom controls.
    Object IReturnValues{get;}
}
    IaaBrowserControl:由aaBaseBrowserControl实施。
//This Base interface is implemented by any IDE view.
Public interface IaaIDEWindow:IaaIDESnapin
{
    //Called when the snap-in is loaded.The snap-in registers its
    //services first and then queries for the services it needs.
    void Initialize(IaaServiceProvider site);
    //Called when the snap-in is unloaded.
    void UnInitialize();
    //Called when the window is activated.
    Void OnActivated();
    //Called when the window is deactivated.
    Void OnDeActivated();
}
aaBrowserControl是一切定制浏览器控制的基类。这个类没有直接实例。因为设计者将创建其显示继承控制的实例,所以未将其声明为抽象类。
Class        aaBaseBrowserControl:         System.Windows.Forms.UserControl,
IaaBrowserControl,IaaIDEView
{
    //Return values from the custom control
    protected object_m_ReturnValue;
    //This reference is set in IaaIDEView.Initialize.Call the base
    //class function if it is overridden in the inherited class.
    protected IaaServiceProvider m_site;
public IaaBrowserControl();
protected override void Dispose(bool disposing);
//These provide background color for user control.
protected Color BackgroundColor1{get;set}
protected Color BackgroundColor2{get;set}
//Typically,controls override this functionto set colors for all
//the controls they use.The function is called on a
//WM_THEMECHANGED event.
protected virtual void OnUpdateThemeColors();
//This overload is needed to tell the Theme Color Provider that
//the theme has changed.
protected override void WndProc(refMessage m);
protected override void OnSystemColorChanged(EventArgs e);
//Overridden to paint background gradient!
protected virtual void OnPaintBackground(PaintEventArgs pevent;
public virtual Guid ControlGuid{get;}
public virtual IaaReturn Values IReturn Values{get;}
//Called when the snap-in is loaded.Typically,a custom control
//overrides this function to provide custom initialization.Base
//class function is called before any custom action.
public virtual void Initialize(IaaServiceProvider site);
//Called when the snap-in is loaded.Typically,a custom control
    //overrides this function.Base class function is called before
    //any custom action.
    public virtual void UnInitialize();
    //Called when the Window is activated.Typically,a custom
    //control overrides this function to provide support for lazy
    //loading.Base class function is called before any custom action.
    public virtual void OnActivated();
    //Called when the Window is deactivated.Typically,a custom
    //control overrides this function to provide support for lazy
    //loading.Base class function is called before any custom action.
    public virtual void OnDeActivated();
}
    IaaBrowserContainer
//IaaBrowserContainer is implemented by the container
Public interface IaaBrowserContainer
{
    //This class contains all of the initial parameters for the custom
    //control.The control casts this parameter to its specific type
    //and initializes itself.It is a control’s responsibility to make
    //sure the cast is valid.
    object InitialParameters{get;}
    //This class contains all of the filter values used by the custom
    //control.The control casts this parameterto its specific type
    //and filters the data accordingly.It is a control’s responsibility
    //to make sure the cast is valid.
object Custom Filter{get;}
//This event is raised when the container is closed.
Event OnClosedEventHandler ContainerClosed;
//This event is raised when the form is closing.
Event OnClosingEventHandler ContainerClosing;
//This event is raised before a container is displayed for
//the first time.
Event OnLoadEventHandler ContainerLoad;
//This event is raised when the container is resized.
Event OnResizeEventHan dler ContainerResize;
//This event is raised when the container is validating.
Event OnValidatingEventHandler ContainerValidating;
//This event is raised when browsing has been cancelled.
Event OnCancelEventHandler ContainerCancel;
//Enable/disable processing of Accept.
Bool AcceptEnabled{get;set;}
//Browser control can use this property to set the return type.
DialogResult ContainerDialogResult{set;}
}
考虑到可以应用本发明原理的许多可能实施例,应当认识到本文关于附图所介绍的实施例仅仅意味着是展示性的,而不应当将其视为限制本发明范围。本领域的技术人员将认识到,某些实施细节由特定的情景确定。所以,文本介绍的本发明预期了可能在以下权利要求书及其等价内容范围内的一切这样的实施例。

可扩展的自动化开发环境.pdf_第1页
第1页 / 共27页
可扩展的自动化开发环境.pdf_第2页
第2页 / 共27页
可扩展的自动化开发环境.pdf_第3页
第3页 / 共27页
点击查看更多>>
资源描述

《可扩展的自动化开发环境.pdf》由会员分享,可在线阅读,更多相关《可扩展的自动化开发环境.pdf(27页珍藏版)》请在专利查询网上搜索。

本发明提供了可扩展的自动化开发环境。所述环境是具有它自有权利的完整开发环境,除支持它自己固有对象之外,也允许集成外来的(或“定制的”)自动化对象。定制的命令和定制的事件也集成到所述环境中并且由处理固有命令和事件的同一框架处理。由所述环境提供的工具能够与定制的对象以及固有对象合作。例如,公共编辑器的扩展到合并了处理定制数据字段的定制编辑器。公共浏览器的扩展到无缝地合并了可以对来自定制数据库的定制自动。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1