Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Axapta 获取全局菜单中菜单项的调用方_Axapta_Microsoft Dynamics_Dynamics Ax 2012_Dynamics Ax 2009_Ax - Fatal编程技术网

Axapta 获取全局菜单中菜单项的调用方

Axapta 获取全局菜单中菜单项的调用方,axapta,microsoft-dynamics,dynamics-ax-2012,dynamics-ax-2009,ax,Axapta,Microsoft Dynamics,Dynamics Ax 2012,Dynamics Ax 2009,Ax,我正在通过GlobalToolsMenu中的菜单项调用一个类。 我的参数的调用者总是空的,尽管它是从窗体调用的 是否有方法将表单作为调用者传输?当您从GlobalToolsMenu打开菜单项时,它与当前表单不关联,其工作原理就像您试图从独立菜单打开菜单项一样。如果需要从调用的类访问当前表单,则需要使用一些变通方法 例如,您可以尝试从类中调用WinAPI::getForegroundWindow(),以检索前台窗口(用户当前使用的AX窗体)的句柄。有了句柄,您需要找到相应的FormRun对象。为此

我正在通过GlobalToolsMenu中的菜单项调用一个类。 我的参数的调用者总是空的,尽管它是从窗体调用的


是否有方法将表单作为调用者传输?

当您从
GlobalToolsMenu
打开菜单项时,它与当前表单不关联,其工作原理就像您试图从独立菜单打开菜单项一样。如果需要从调用的类访问当前表单,则需要使用一些变通方法


例如,您可以尝试从类中调用
WinAPI::getForegroundWindow()
,以检索前台窗口(用户当前使用的AX窗体)的句柄。有了句柄,您需要找到相应的
FormRun
对象。为此,您可以尝试自定义
\Classes\SysSetupFormRun\init
,以保持表单句柄与
infolog.globalCache()中
FormRun
对象之间的关系。然后可以使用类中的缓存映射从检索到的句柄中获取
FromRun
对象。

调用菜单项的表单是什么?是否通过代码调用菜单项?菜单项以各种形式显示,因为它位于GlobalToolsMenu(菜单栏)中。它不是由代码调用的。