2013-03-12 87 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"); 
} 

據我所知,只有當你在窗體上有一個斷點時纔會發生,當你更新它時。刪除斷點將顯示原始消息,或者至少這是我發現的。