TPredicatePathNode FillPathNode(TPredicateItemBig AHead, TDynamicArray ADyn) { int m_who; bool valid = false; TPredicateItemBase Item; TPredicatePathNode N = null; TDynamicArray D = new TDynamicArray(); for (int i = 0; i <= ADyn.Count - 1; i++) { Item = (TPredicateItemBase)(ADyn.GetItems(i)); m_who = Item.Who(); valid = m_who == 0; if (m_who == 1) { valid = ((TPredicateItemBig)(Item)).ValidDescendant(); } if (valid) { D.Append(Item); } } if (D.Count > 0) { N = f_BasePath.CreatePathNode(AHead); for (int i = 0; i <= D.Count - 1; i++) { N.AddItem((TPredicateItemBase)(D.GetItems(i))); } } D = null; return(N); }
TPredicatePathNode FillPathNode(TPredicateItemBig AHead, TPredicateItemBase AItem) { TPredicatePathNode N = null; int m_who = AItem.Who(); bool valid = m_who == 0; if (m_who == 1) { valid = ((TPredicateItemBig)(AItem)).ValidDescendant(); } if (valid) { N = f_BasePath.CreatePathNode(AHead); N.AddItem(AItem); } return(N); }