我想在 DXL 中编写一个循环,从名为“req”的对象链接的每个对象中读取一些内容。
天真的解决方案,省略 req 的初始化,将是这样的:
Object req
Object parent
Link baselink
for baseLink in req -> "*" do{
parent = target(baseLink)
...
}
除非这些“父”对象所在的所有模块都已打开,否则这不起作用。对于任何仍未打开的,“父”变量只接收一个 Null 值。
鉴于这种情况,我想要一种以编程方式打开它们的方法。
DXL 参考手册提供了一个仅适用于传入链接(来自“子”对象)的解决方案:
ModName_ srcModRef
for srcModRef in o<-"*" do
read(fullName(srcModRef), false)
不幸的是,我找不到传出链接的解决方案。在上面的示例中将“<-”替换为“->”会失败。我在手册和网络上搜索过。
我想避免打开整个链接模块指向的所有链接,因为这涉及其他来源。
有人知道如何以编程方式打开对象链接的所有模块吗?我怀疑有没有办法在不打开它所在的模块的情况下访问一个对象,但这也可以解决我的问题。