当用户调用操作时,系统在数据库中查找匹配的操作名。如果存在多个由该名称的操作,系统则利用优先级规则来决定使用哪个操作。
如果没有其他优先级规则可用,将使用基于定义位置的优先级。下表按从高到低的优先级排列:
个人操作 (HomeDirectory /.dt/types)
系统范围的本地操作 (/etc/dt/appconfig/types/language)
系统范围的远程操作 (hostname :/etc/dt/appconfig/types/language)。只查找在应用程序查找路径内的远程主机。
内置操作 (/usr/dt/appconfig/types/language)
在给定的目录内,*.dt文件按字母顺序读取。
由 ARG_CLASS、ARG_TYPE、ARG_MODE 或 ARG_COUNT 限定的操作优先于未限定的操作。(上述四种字段的缺省值是*。)
当应用了多个限定时,优先级顺序从高到低是:
ARG_CLASS
ARG_TYPE
ARG_MODE
ARG_COUNT
存在多于一个限定的 ARG_COUNT 时,优先级顺序从高到低是:
特定整数值 n
<n
>n
*
例如,考虑操作定义的下面部分:
ACTION EditGraphics # EditGraphics-1 { ARG_TYPE XWD … }
ACTION EditGraphics # EditGraphics-2 { ARG_COUNT 0 … }
ACTION EditGraphics # EditGraphics-3 { ARG_TYPE * … }
因为没有提供变量并且 ARG_COUNT 0 优先,双击 EditGraphics 操作图符启动 EditGraphics-2。当提供了 XWD 类型的文件变量时,使用 EditGraphics-1,因为它指定了 XWD ARG_TYPE。对于所有其他文件的变量,则使用 EditGraphics-3。