Axapta 与MenuItemDisplayStr()类似的函数是否为非内在函数?(AX2012)

Axapta 与MenuItemDisplayStr()类似的函数是否为非内在函数?(AX2012),axapta,dynamics-ax-2012,x++,dynamics-ax-2012-r3,Axapta,Dynamics Ax 2012,X++,Dynamics Ax 2012 R3,我正在编写一个类,该类需要将字符串验证为现有菜单项。理想情况下,我需要类似于MenuItemDisplayStr()的东西,但我需要它在运行时而不是编译时使用该函数。如果字符串是menuItem,是否有类似的东西可以检查它 谢谢你的帮助 您必须迭代AOT并将字符串与菜单项进行比较 此代码改编自此处提供的示例: #AOT //These are the macros for the paths found in #AOT. //Don't use macros in practice. It

我正在编写一个类,该类需要将字符串验证为现有菜单项。理想情况下,我需要类似于MenuItemDisplayStr()的东西,但我需要它在运行时而不是编译时使用该函数。如果字符串是menuItem,是否有类似的东西可以检查它


谢谢你的帮助

您必须迭代AOT并将字符串与菜单项进行比较

此代码改编自此处提供的示例:

#AOT

//These are the macros for the paths found in #AOT. 
//Don't use macros in practice. It's a bad habit.
//#define.MenuItemsDisplayPath('\\Menu Items\\Display')
//#define.MenuItemsOutputPath('\\Menu Items\\Output')
//#define.MenuItemsActionPath('\\Menu Items\\Action')

TreeNode menuItemParentNode;

//str menuItemName = "derp";//output: "derp is not a valid menu item"
str menuItemName = "ActivitiesMain";//output: "ActivitiesMain is a valid menu item"

//Only checking display here, you would need another level of 
//nodes to do output and actions.
menuItemParentNode = TreeNode::findNode(#MenuItemsDisplayPath);

if (menuItemParentNode.AOTfindChild(menuItemName))
    info(strFmt("%1 is a valid menu item", menuItemName));
else
    info(strFmt("%1 is not a valid menu item", menuItemName));