So when I later want to find out what projects an AOT object exists in, I needed a way to search inside every project. I wrote this proof of concept job on how to find in what projects a specific object exists. Enjoy!
static void FindWhatProjectsObjectExistsIn(Args _args) { ProjectNode pn; ProjectListNode projectListNode; TreeNode tn, tn2; TreeNodeIterator tni, tni2; // Object we are searching for TreeNode tnSearch = TreeNode::findNode(@'\Forms\SalesTable'); ; projectListNode = SysTreeNode::getSharedProject(); tni = projectListNode.AOTiterator(); tn = tni.next(); while (tn) { pn = tn; // ProjectNode inherits TreeNode pn = pn.loadForInspection(); tni2 = pn.AOTiterator(); tn2 = tni2.next(); while (tn2) { if (tn2.treeNodePath() == tnSearch.treeNodePath()) info(strfmt("Found in shared project %1", tn.AOTname())); // info(tn2.applObjectType()); // Returns the type (Form/Class/Table/Etc) // info(tn2.AOTname()); // Returns the object name // info(tn2.treeNodePath()); // Returns the object path tn2 = tni2.next(); } tn = tni.next(); }