MS Dynamics AX 2012 プロジェクトがあり、.Net 相互運用機能を使用しています。static class
呼び出された内に C# メソッドがありますDatabase
。
public static List<String> GetAllDatabases(string dataSource)
このアセンブリを参照した後、X++ で実行できます。
ADOMD.ADOMD.Model.Database::GetAllDatabases();
しかし、返された文字列リストを読み取ることができません。次のようなものを使用したいと思います:
List databaNameCollection = new List( Types::String );
;
databaNameCollection = ADOMD.ADOMD.Model.Database::GetAllDatabases();
しかし、それはエラーを引き起こします:
Error executing code: (object) has no valid runable code in method 'GetSID'.
どうすればできますか?
-------編集済み------
この投稿を見つけました:
http://blogs.msdn.com/b/x/archive/2010/01/19/traversing-elements-in-an-ienumerable-from-x.aspx
しかし、それは 2010 年のことで、おそらく AX 2009 のために、次のように割り当てようとしました。
ClrObject enumerator;
str theValue;
;
enumerator = ADOMD.ADOMD.Model.Database::GetAllDatabases();
while (enumerator.MoveNext())
{
theValue = enumerator.get_Current();
print theValue;
}
GetallDatabases メソッドは別の .Net プロジェクトで動作しており、10 個のオブジェクトを返していますが、X++ コードでは何も返していません。
ありがとう