2013-01-17 110 views
0

我正在写一些代码来搜索某些对象的AOT,只是做一个扩展数据类型搜索没有按预期工作。我在USR层中创建了一个名为“Alex”的EDT,EnumType为“SysDimension”。它在AOT中找不到它,但它可以找到其他人。AOT反射不能按预期工作?

static void Job6(Args _args) 
{ 
    #AOT 
    TreeNodeIterator treeNodeIterator; 
    TreeNode   treeNode; 
    SysDictEnum   sysDictEnum; 
    ; 

    treeNodeIterator = TreeNode::findNode(#ExtendedDataTypesPath).AOTiterator(); 
    treeNode   = treeNodeIterator.next(); 
    while (treeNode) 
    { 
     sysDictEnum   = new SysDictEnum(treeNode.applObjectId()); 

     if (sysDictEnum) 
     { 
      if (sysDictEnum.name() == "Alex") 
       info("Found Alex"); // WHY ISN'T THIS FOUND? 

      if (sysDictEnum.name() == "ABCModel") 
       info("Found ABCModel"); // THIS IS OUTPUT 
     } 

     treeNode = treeNodeIterator.next(); 
    } 

    info("Done"); 
} 

回答

0

啊我觉得很蠢。我正在迭代扩展数据类型,但使用sysDictEnum而不是sysDictType,这是用于EDT的。解释我令人困惑的结果。

+0

它可能发生在我们身上......我认为它就是这样做的! ; D – Skaue

+0

我喜欢它是如何让我在接受答案之前等待2天,所以我不得不在耻辱中沉沦... –

+0

哈哈哈哈......这种聊天与stackoverflow无关,但我无法抑制我。感谢您分享问题,解决方案和好笑! – Skaue