【发布时间】:2016-08-10 13:54:04
【问题描述】:
这是DXL中的代码
string path = "blablabla...";
Module mod = read(path, false);
Object obj = object(1337, mod);
string nameObject;
Object objectObject;
Link lnk_in;
Link lnk_out;
print "The objects for IN links:\n";
for lnk_in in obj <- "*" do
{
nameObject = source(lnk_in);
objectObject = source(lnk_in);
print identifier(objectObject) " " ;
print nameObject "_" objectObject."Absolute Number" "\n";
}
print "\nThe objects for OUT links:\n";
for lnk_out in obj -> "*" do
{
nameObject = target(lnk_out);
objectObject = target(lnk_out);
print identifier(objectObject) " ";
print nameObject "_" objectObject."Absolute Number" "\n";
}
基本上它有兴趣打印与我们的 obj 对象链接的对象,该对象的给定绝对数等于 1337。我仔细选择了这个对象,以便它具有内部和外部链接到其他物体。然而,尽管它很简单,但我还是有一些问题。
脚本本身会输出:
The objects for IN links:
The objects for OUT links:
-R-E- DXL: <Line:25> null Object parameter was passed into argument position 1
-I- DXL: execution halted
如您所见,存在一个严重的问题。尽管 obj 确实具有链接的内部对象,但该脚本不会返回内部对象。而对于输出链接,我观察到 nameObject 确实返回了对象的字符串名称,但 objectObject 为空。
如果第二个for改为:
print "\nThe objects for OUT links:\n";
for lnk_out in obj -> "*" do
{
nameObject = target(lnk_out);
objectObject = target(lnk_out);
//print identifier(objectObject) " ";
print nameObject "\n";
print nameObject "_" objectObject."Absolute Number" "\n";
}
输出变成:
The objects for OUT links:
etc...System_Req...etc
-R-E- DXL: <Line:27> null Object parameter was passed into argument position 1
-I- DXL: execution halted
会有什么问题?不应该是这样的。
【问题讨论】:
标签: object module attributes ibm-doors