D.J*_*.J. 3 x++ axapta dynamics-365-operations
我目前正在为一个更大的项目修复一些BestPractice-Warnings。我在某些情况下会调用表单并等待做更多的事情,这主要是一些对话框。为了等待表单,经常使用以下代码:
Object formRun;
//declare args and stuf...
formRun = classfactory.formRunClass(args);
formRun.init();
//call methods on formRun (display,run,etc...)
formRun.wait();
Run Code Online (Sandbox Code Playgroud)
我现在面临的问题是'wait()'似乎已被弃用,我不知道如何替换或解决此问题。我已经看到一些开发人员将表单声明为“对象”以摆脱此警告(顺便说一下,它仍然无法工作),但这是一个后期绑定调用,也应避免。 ..
其他人遇到过这个问题吗 ?我尝试使用system.reflection命名空间调用此方法,但这看起来不正确,并且在x ++中的代码也比这种简单任务所需的代码多得多。
TLDR
我认为从最佳实践检查来看这是错误的肯定。要摆脱最佳实践警告,可以将它们添加到禁止的最佳实践列表中,也可以在代码中添加最佳实践禁止。
细节
在过时的API(2017年6月)中,它表示以下wait方法Object:
总览
用于阻止和等待交互/操作并通知取消阻止。
弃用原因
除formRun及其派生类之外,所有对象均不赞成使用这些调用。
迁移说明
允许从formRun或其派生类调用这些API。 应该删除从任何其他对象对这些API的调用。
在对进行元数据搜索时code:"formRun.wait()",您还将获得很多结果(在8.0版上超过1000个)。这进一步表明该方法未弃用FormRun。
也就是说,您可能想看一下以下链接,其中提到了formRun.lifecycleHelper()可以添加事件处理程序的。到目前为止,我还没有亲自尝试过,但这可能适用于您的情况。
FormRun.wait,Box和ChangeCompany-糟糕的鸡尾酒
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |