2013-01-17 111 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