0

現在、私は次のコードを使用しています。

        Axapta ax = new Axapta();
        string tableName;
        ArrayList ax_cont = null;
        ax.Logon(null, null, null, null);
        try
        {
            ax_cont = (ArrayList)ax.CallStaticClassMethod("Code_Generator", "tableNames");
            for (int i = 1; i <= ax_cont.Count; i++)
            {
                tableName = ax_cont[i].ToString();
                tablesCB.Items.Add(tableName);
            }    
        }
        catch { }

しかし、型変換の例外が発生しています。

リストがaxダイナミクスからとして返される場合、C#で何をする必要がありAxpataObjectますか?

4

1 に答える 1

2

Code_generator::tableNames()が返ってくるかによります。

確かに返されませんArrayListが、おそらくAXListであり、2つは同じではなく、キャストできません。

1つの方法は、AXにコンテナを返させてから、それにアクセスすることです。

それ以外の場合は、 AxaptaObjectListを使用してAXに直接アクセスできます

AxpataObject ax_cont = ax.CallStaticClassMethod("Code_Generator", "tableNames");
AxpataObject ax_it = ax_cont.Call("getEnumerator");
while (ax_it.Call("moveNext"))
     // Hope you get it
于 2013-01-24T08:25:47.010 に答える