未理解 DXL 错误:DXL:<D:\XXXX.dxl:1234> 操作需要当前模块 => 美国翻译 = 操作需要当前模块
DXL error not undestood :DXL: <D:\XXXX.dxl:1234> Un module en cours est requis pour lopération => US traduction = operation requires a current module
我收到以下错误消息:
DEBUG:isBaseline(spec_produit) = true -R-E- DXL: Un module en cours est requis pour lopération
US traduction = 操作需要当前模块
第 1234 行如下:打印“DEBUG:为“name(module_in_database)”=“major(baseline_open)”加载基线。”次要(baseline_open)后缀(baseline_open)“\n”
有:baseline_open = baselineInfo(module_in_database) (=true)
我不明白为什么我会收到这条消息,因为我已经在其他地方成功地使用了这种编码。
这里我有一个循环消息,用于检测在关闭所有打开的模块后我是否仍然打开模块(我不知道为什么我仍然有打开的模块,但这是另一个主题)
循环是:
// display list of open module at then end of the script
for module_in_database in database do
{
logResult = logResult "INFO: open modules at the end the script are " fullName(module_in_database) "\n"
// display more information on open modules : (DEBUG) :
print "DEBUG: isBaseline(" name(module_in_database) ") = " isBaseline(module_in_database) "\n"
baseline_open = baselineInfo(module_in_database)
if (baseline_open != null) {
print "DEBUG: baseline loaded for" name(module_in_database) " = " major(baseline_open) "." minor(baseline_open) suffix(baseline_open) "\n"
} else {
print "DEBUG: " name(module_in_database) " = CURRENT \n"
}
}
奇怪。
我已经能够 运行 具有以下声明的脚本
Module module_in_database
Baseline baseline_open
string logResult = ""
我得到了预期的结果。
我记得 perms 的一些问题需要当前模块,即使它们不应该。
也许您只需要在循环中添加一些行
if type (module_in_database) == "Formal" then {
current = module_in_database
} else {
continue
}
但仍然没有必要
版本 1:
Module module_in_database
Baseline baseline_open
string logResult = ""
// display list of open module at then end of the script
for module_in_database in database do
{
logResult = logResult "INFO: open modules at the end the script are " fullName(module_in_database) "\n"
if type (module_in_database) == "Formal" then {
// display more information on open modules : (DEBUG) :
print "DEBUG: isBaseline(" name(module_in_database) ") = " isBaseline(module_in_database) "\n"
baseline_open = baselineInfo(module_in_database)
if (baseline_open != null) {
current = module_in_database // <------ set current module so that the next line works!
print "DEBUG: baseline loaded for" name(module_in_database) " = " major(baseline_open) "." minor(baseline_open) suffix(baseline_open) "\n"
} else {
print "DEBUG: " name(module_in_database) " = CURRENT \n"
}
} else {
print fullName(module_in_database) " is a Link Module. No baselineInfo available\n"
}
}
版本 2:
Module module_in_database
Baseline baseline_open
string logResult = ""
ModuleVersion mv
string version_string
// display list of open module at then end of the script
for module_in_database in database do
{
logResult = logResult "INFO: open modules at the end the script are " fullName(module_in_database) "\n"
if type (module_in_database) == "Formal" then {
// display more information on open modules : (DEBUG) :
print "DEBUG: isBaseline(" name(module_in_database) ") = " isBaseline(module_in_database) "\n"
mv = moduleVersion (module_in_database)
version_string = versionString (mv) // <---- don't use "major" and "minor", instead use version_string, which does not require a "current" module
if (version_string != "") {
print "DEBUG: baseline loaded for" name(module_in_database) " = " version_string "\n"
} else {
print "DEBUG: " name(module_in_database) " = CURRENT \n"
}
} else {
print fullName(module_in_database) " is a Link Module. No baselineInfo available\n"
}
}
P.S:再次阅读我们的帖子,我认为误解源于DOORS在命名事物时的不一致。 “当前版本”是一个不是基线的模块。在 DOORS 中,“当前模块”是一个模块版本,即“用户当前与之交互的那个 '''module'''”。当您打开五个 windows 模块(当前版本或基线或 link 模块)时,只有其中一个 windows 在前面 - 只有一个 windows捕获您的键盘输入 - window 包含“当前”模块。如果你有像 print fullName (current Module)
这样的单行代码,然后打开数据库资源管理器(主 window),单击工具 -> 编辑 DXL… 并粘贴代码,它会抱怨没有模块是最新的。如果您随后单击一个 window 并在此 window 中单击工具->编辑 DXL...,您将获得相同的 DXL window,但现在代码将 运行 ,因为现在 DOORS 知道当您说 fullName (current Module)
.
时您指的是哪个模块
不幸的是,这仍然是不正确的说法:当前模块与前面的 window 没有直接关系 - 您甚至可能在不可见的情况下打开了模块。使用 DXL 你可以说“这个不可见的模块是当前模块”,尽管前面有一个 window 显示不同的模块。
这很复杂,但我希望我现在解释正确。
我收到以下错误消息:
DEBUG:isBaseline(spec_produit) = true -R-E- DXL:
第 1234 行如下:打印“DEBUG:为“name(module_in_database)”=“major(baseline_open)”加载基线。”次要(baseline_open)后缀(baseline_open)“\n”
有:baseline_open = baselineInfo(module_in_database) (=true)
我不明白为什么我会收到这条消息,因为我已经在其他地方成功地使用了这种编码。
这里我有一个循环消息,用于检测在关闭所有打开的模块后我是否仍然打开模块(我不知道为什么我仍然有打开的模块,但这是另一个主题)
循环是:
// display list of open module at then end of the script
for module_in_database in database do
{
logResult = logResult "INFO: open modules at the end the script are " fullName(module_in_database) "\n"
// display more information on open modules : (DEBUG) :
print "DEBUG: isBaseline(" name(module_in_database) ") = " isBaseline(module_in_database) "\n"
baseline_open = baselineInfo(module_in_database)
if (baseline_open != null) {
print "DEBUG: baseline loaded for" name(module_in_database) " = " major(baseline_open) "." minor(baseline_open) suffix(baseline_open) "\n"
} else {
print "DEBUG: " name(module_in_database) " = CURRENT \n"
}
}
奇怪。 我已经能够 运行 具有以下声明的脚本
Module module_in_database
Baseline baseline_open
string logResult = ""
我得到了预期的结果。 我记得 perms 的一些问题需要当前模块,即使它们不应该。
也许您只需要在循环中添加一些行
if type (module_in_database) == "Formal" then {
current = module_in_database
} else {
continue
}
但仍然没有必要
版本 1:
Module module_in_database
Baseline baseline_open
string logResult = ""
// display list of open module at then end of the script
for module_in_database in database do
{
logResult = logResult "INFO: open modules at the end the script are " fullName(module_in_database) "\n"
if type (module_in_database) == "Formal" then {
// display more information on open modules : (DEBUG) :
print "DEBUG: isBaseline(" name(module_in_database) ") = " isBaseline(module_in_database) "\n"
baseline_open = baselineInfo(module_in_database)
if (baseline_open != null) {
current = module_in_database // <------ set current module so that the next line works!
print "DEBUG: baseline loaded for" name(module_in_database) " = " major(baseline_open) "." minor(baseline_open) suffix(baseline_open) "\n"
} else {
print "DEBUG: " name(module_in_database) " = CURRENT \n"
}
} else {
print fullName(module_in_database) " is a Link Module. No baselineInfo available\n"
}
}
版本 2:
Module module_in_database
Baseline baseline_open
string logResult = ""
ModuleVersion mv
string version_string
// display list of open module at then end of the script
for module_in_database in database do
{
logResult = logResult "INFO: open modules at the end the script are " fullName(module_in_database) "\n"
if type (module_in_database) == "Formal" then {
// display more information on open modules : (DEBUG) :
print "DEBUG: isBaseline(" name(module_in_database) ") = " isBaseline(module_in_database) "\n"
mv = moduleVersion (module_in_database)
version_string = versionString (mv) // <---- don't use "major" and "minor", instead use version_string, which does not require a "current" module
if (version_string != "") {
print "DEBUG: baseline loaded for" name(module_in_database) " = " version_string "\n"
} else {
print "DEBUG: " name(module_in_database) " = CURRENT \n"
}
} else {
print fullName(module_in_database) " is a Link Module. No baselineInfo available\n"
}
}
P.S:再次阅读我们的帖子,我认为误解源于DOORS在命名事物时的不一致。 “当前版本”是一个不是基线的模块。在 DOORS 中,“当前模块”是一个模块版本,即“用户当前与之交互的那个 '''module'''”。当您打开五个 windows 模块(当前版本或基线或 link 模块)时,只有其中一个 windows 在前面 - 只有一个 windows捕获您的键盘输入 - window 包含“当前”模块。如果你有像 print fullName (current Module)
这样的单行代码,然后打开数据库资源管理器(主 window),单击工具 -> 编辑 DXL… 并粘贴代码,它会抱怨没有模块是最新的。如果您随后单击一个 window 并在此 window 中单击工具->编辑 DXL...,您将获得相同的 DXL window,但现在代码将 运行 ,因为现在 DOORS 知道当您说 fullName (current Module)
.
不幸的是,这仍然是不正确的说法:当前模块与前面的 window 没有直接关系 - 您甚至可能在不可见的情况下打开了模块。使用 DXL 你可以说“这个不可见的模块是当前模块”,尽管前面有一个 window 显示不同的模块。
这很复杂,但我希望我现在解释正确。