2016-06-30 12 views
2

私は3つのクラスをそれぞれ計算を実行し、異なるフィールドに値を書き込むメソッドを持っています。このメソッドはメソッドの実行元のフィールドにクラス名を書き込みます。フィールド値に基づいて動的クラスを実行する

これは問題なく動作します。

私は最近、元々実行されたメソッドのクラスからメソッドを再実行するためのボタンを作成しました。例えば

Class1 RunMethod 
Class2 RunMethod 
Class3 RunMethod 

クリックしたとき、私は今、アクションボタンのための方法を作成していますが、私はそれが最初から走っクラスから特定のメソッドを実行する方法を見当もつかない。クラス名はフィールドにあります。

私はSysDictClassでこれを達成できると思いますが、私はどのように開始するのか手がかりがありません。どのようにしてこの方法から始めていいですか?

答えて

4

これはあなたの考えを得るはずです。私はAX 2009でそれを書いたが、おそらくAX 2012でもうまくいくはずである。

public static client void SysDictClassJob() 
{ 
    ClassId  classId; 
    Object  obj; 
    SysDictClass sysDictClass; 
    ; 

    // Create instance (if you are going to call a member method) 
    classId = className2Id('SomeClass'); 
    obj = classFactory.createClass(classId); 

    // Invoke member method 
    sysDictClass = new SysDictClass(classId); 
    sysDictClass.callObject('yourMemberMethod', obj); 

    // Invoke static method 
    sysDictClass.callStatic('yourStaticMethod'); 
} 
関連する問題