预订演示
前页 后页

入口点和多个 Scriptlet

使用单个 Scriplet 时,需要一个入口点来执行该 Scriptlet。由于此调用是在全局范围内进行的,因此该 Scriptlet 会在加载时执行。例如, Scriplet3()这行代码是以下代码的入口点:

function Scriptlet3()
{
var element as EA.Element;
var object  as EA.DiagramObject;
element = FindDiagramElement("Discussion1");
if(element)
{
object = FindDiagramObject(element.ElementID);
object.BackgroundColor = parseInt("0xc0c0c0",16);
object.Update();
}
}
Scriptlet3();

Scriptlet 可以只定义一些函数,供其他 Scriptlet 调用。例如,可以有一个包含入口点的 Scriptlet,以及几个其他的 Scriptlet,每个 Scriptlet 只定义一个函数库或设置一些数据。

但是,图表的 Scriptlet 中至少应该定义一个入口点。如果有多个 Scriptlet 且只有一个入口点,则带有该入口点的 Scriptlet 应该最后运行。

要设置编译和执行的顺序,请使用 z 顺序并将主 Scriplet 的入口点设置为高于其他 Scriplet,因此最后一个运行。

了解更多