gpt4 book ai didi

forms - 如何覆盖代码创建的表单上的表单方法?

转载 作者:行者123 更新时间:2023-12-02 01:46:38 28 4
gpt4 key购买 nike

在 AOT 中创建的表单上,您可以通过右键单击并覆盖来重写方法。如何在由 X++ 代码创建的表单上执行相同的操作?

例如。如何更改关闭方法,使其在关闭之前调用 info("close");:

form = new Form();
formBuildDataSource = form.addDataSource("Table");
formBuildDesign = form.addDesign("Design");
form.design().caption("Caption");

args = new Args();
formRun = classfactory.formRunClass(args);
formRun.run();
formRun.detach();

我用的是AX2012

最佳答案

通常您会想要执行预定义的方法。然后,您可以使用表单控件的 registerOverrideMethod 方法。这是 explained here .

在调用 registerOverrideMethod 时,始终提供第三个参数,即持有该方法的对象。

formButtonControl.registerOverrideMethod(
methodStr(FormButtonControl,clicked), //method to override
methodStr(testClass,testMethod), //method to invoke
new testClass()); //object of class containing method

当然也可以使用类 TreeNode 方法将源保存到 AOT AOTSetSource .
一个example here .

您需要将表单保存到 AOT 并在使用 FormRun 执行之前进行编译。

关于forms - 如何覆盖代码创建的表单上的表单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25261680/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com