2013-03-12 90 views
2

我有使用语法箱::信息显示“refreshEx”

Box::info(message,title); 

但是,我第一次,它会显示正确的标题代码显示验证结果的方法,但该消息refreshEx

调试代码正在使用的信息是正确的,有效帐号,但什么是显示refreshEx。如果我重新运行该过程,则会显示正确的消息,这只会发生在第一次时间。

万一它重要的流量

Form - DoValidation method creates Class to call... 
Class - public AccountValidation method that calls... 
     - private displayValidation method that contains this code 

谢谢...

+0

这听起来很荒谬,但在_Box :: Info_调用之前为消息变量赋值。 ** message =“测试”; ** 我假定_Test_这个词会在第一次和第二次出现。 – 2013-03-13 17:23:01

回答

0

如果消息包含从数据库中的某些领域,尝试执行reread()refresh()refreshEx()方法(视在通过信息框显示值之前将数据源添加到数据源。

可能是更新或插入后未刷新缓存的数据。

编辑:

如果您specting从事件返回参数,不要忘记,这是一个异步过程。 MSDN上的例子:

http://msdn.microsoft.com/en-us/library/gg843664.aspx

+0

验证在托管代码(.net)中完成。该消息是基于从托管代码返回的值动态创建的。该消息是使用strFmt(“有效%1号码”,typeDescription)创建的,该值等于“有效帐号” – KevinManx 2013-03-12 16:43:37

+0

如果不查看完整对象很难说,但如果有帮助,请查看为何在托管代码上生成此数据在执行返回到X ++代码时不会刷新。可能这是通过X ++ vs .NET的类型解析问题,移动数据通道层(客户端 - 服务器)或类似的问题。确保您可以调试完整的执行过程,并确保在这些过程中的某个步骤中没有丢失数据。 – 2013-03-12 16:53:30

0

我已经看到了这个错误(不幸),在AX 2009的安装,在形式从码推出了一个按钮后面:

AX2009 refreshEX message

if(HIEItemOrderSetup.RMAvailable < HIEItemOrderSetup.RMQuantity) 
{ 
    ok = DialogButton::Ok == box::okCancel("@HIE848",DialogButton::Ok,"@HIE849"); 
} 

据我所知,只有当你在窗体上有一个断点时才会发生,当你更新它时。删除断点将显示原始消息,或者至少这是我发现的。