我目前正在为一个更大的项目修复一些BestPractice-Warnings。我有一些实例,其中表单被调用并等待做更多的事情,这主要是一些对话框。为了等待表单,经常使用以下代码:
Object formRun;
//declare args and stuf...
formRun = classfactory.formRunClass(args);
formRun.init();
//call methods on formRun (display,run,etc...)
formRun.wait();
我现在面临的问题是'wait()'似乎已被弃用,我不知道如何更换或修复此问题。我已经看到一些开发人员声称表单为'Object'来摆脱这个警告(顺便说一下,这仍然无法检测到),但这是一个后期限制调用,也应该避免。 ..
其他人遇到过这个问题吗 ?我尝试使用system.reflection
命名空间调用此方法,但这看起来不正确,并且x ++中的代码也比这个简单任务所需的代码多得多。
TLDR
我认为这是最佳实践检查的误报。要删除最佳实践警告,可以将它们添加到已抑制的最佳实践列表中,或在代码中添加最佳实践抑制。
细节
在Deprecated APIs (June 2017)它说wait
的Object
方法:
概观
用于阻止和等待交互/操作并通知取消阻止。
弃用的原因
对于除formRun及其衍生物之外的所有对象,不推荐使用这些调用。
迁移说明
允许从formRun或其衍生物调用这些API。应删除从任何其他对象调用这些API。
当您为metadata search执行code:"formRun.wait()"
时,您还将获得大量结果(在8.0版本上超过1000)。这进一步表明该方法不会因FormRun
而弃用。
也就是说,您可能需要查看以下链接,其中提到了可以添加事件处理程序的formRun.lifecycleHelper()
。到目前为止,我还没有亲自尝试过,但它可能适用于您的情况。