【问题标题】:Object not initialized [.NET Business Connector]对象未初始化 [.NET Business Connector]
【发布时间】:2013-02-14 06:18:22
【问题描述】:

这是我的代码:

AxaptaObject dict = (AxaptaObject)DynAx.CallStaticClassMethod("Dictionary", "new");
object id = (object)dict.Call("enumName2Id", "TimeZone");
AxaptaObject dictEnum = (AxaptaObject)DynAx.CallStaticClassMethod("DictEnum", "new", id);
string s = (string)dictEnum.Call("index2Label", "2");

我收到以下错误:

Error executing code: Dictionary object not initialized.

为什么在 Dictionary 对象的初始化过程中会抛出该错误?请帮忙。

【问题讨论】:

  • 你能不能把第一行换成AxaptaObject dict = (AxaptaObject)DynAx.CallStaticClassMethod("Dictionary");

标签: c# axapta dynamics-ax-2009 x++ business-connector


【解决方案1】:

知道了!

代码如下:

int enumId = (int)ax.CallStaticClassMethod("Global", "enumName2Id", enumName);
AxaptaObject dictEnum = (AxaptaObject)ax.CreateAxaptaObject("DictEnum", enumId);
return (string)dictEnum.Call("index2Label", index);

您必须使用“AxaptaObj.CreateAxaptaObject”。通过这种方式,您可以间接地用 C# 编写 X++ 代码来完成诸如此类的小型工作。我不确定性能因素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 2013-07-04
    • 2013-06-27
    • 1970-01-01
    • 2018-08-02
    • 2019-12-05
    • 2010-12-31
    相关资源
    最近更新 更多