记录脚本是挂钩的一种通用形式,调用这些脚本的目的是为了响应针对表单的事件或来自其他挂钩的事件。您可以编写在记录上下文中执行定制行为的脚本。这些脚本在当前所选记录的上下文中运行。记录脚本子例程特定于一个记录类型。
通常,记录脚本用于实施一种操作,执行该操作的目的是响应针对与表单中特定字段关联的按钮或上下文菜单的单击事件。例如,记录脚本可将有关当前记录的数据发送到另一个系统。
例如,在 TeamTest 模式中,Build_Properties 记录脚本允许用户查看所选构建的属性。该脚本与使其运行的按钮关联。Build_Properties 记录脚本从 Rational® ClearQuest® 存储库检索构建信息,并在窗口中显示这些信息。
以下示例演示 Visual Basic 记录脚本语法:
Function RecordName_HookName(param) ' param As Variant ' RecordName_HookName As Variant ' ... End Function
从另一个挂钩调用记录脚本时,您传入该挂钩的参数是包含相应数据的 Variant。如果该挂钩将信息返回给调用方挂钩,那么会在 Variant 中返回该信息。
如果记录脚本与某个表单控件关联,那么传入方法的参数将包含 EventObject 类的实例。 该实例包含有关导致调用挂钩的事件的信息。(请参阅表单控件事件。)如果记录脚本与表单控件关联,那么 Rational ClearQuest 软件不会从记录脚本收到返回值。来自记录挂钩的非空返回值将解释为一个错误,您可使用 Rational ClearQuest 客户机在消息框中查看该错误。
记录脚本可与按钮、文本字段和列表关联。如果记录脚本与按钮关联,那么单击该按钮会导致挂钩运行。如果记录脚本和文本字段以及与列表相关的控件关联,那么该挂钩会添加到此控件的上下文菜单中。
您还可以将记录脚本与类型为“记录脚本别名”的操作关联。该关联允许您将定制按钮放到 Rational ClearQuest 表单的“操作”菜单中。
Rational ClearQuest Web 会检查由按钮调用的记录脚本的返回值。 如果返回值为字符串,那么会视为错误消息,挂钩会运行失败。
如果未显式设置记录脚本函数的返回值,该函数会返回 NULL 或空值,表明挂钩已成功运行。
要针对 Web 启用记录挂钩,请选择控件属性表的扩展选项卡上的针对 web 启用。
在 Rational ClearQuest Web 中,记录挂钩在 Rational ClearQuest Web 服务器上运行。出于这个原因,请勿调用会导致打开窗口的 Windows 例程;窗口会在服务器(而非客户机)上打开。 Rational ClearQuest Web 服务器在启动一个服务器会话时,会设置名为 CQ_WEB_SESSION 的 Session.NameValue 对象,以使您的脚本可支持 Web。
当表单控件触发记录脚本时,Rational ClearQuest 软件会将记录脚本作为参数传递到 EventObject 对象。该对象包含所发生事件的类型的信息。 不同的控件可以生成不同类型的事件,包括按钮单击、项选择等。您必须使用 EventObject 对象中的信息来确定如何处理事件。
下表列出了每种控件支持的事件类型,以及 EventObject 提供的额外信息。 受支持事件类型列下列出的常量是 EventType 枚举类型的一部分。
控件类型 | 受支持的事件类型 | 更多信息 |
---|---|---|
按钮 | AD_BUTTON_CLICK | 按钮名称 |
组合框 | AD_CONTEXMENU_ITEM_SELECTION | 空字符串 |
下拉列表框 | AD_CONTEXMENU_ITEM_SELECTION | 空字符串 |
列表框 | AD_CONTEXMENU_ITEM_SELECTION | 当前字段值选择 |
列表视图 | AD_CONTEXMENU_ITEM_SELECTION | 当前字段值选择 |
文本框 | AD_CONTEXMENU_ITEM_SELECTION | 当前字段值选择 |
下拉组合框 | AD_CONTEXMENU_ITEM_SELECTION | 空字符串 |