Create a new method in runtime


Create a new method in runtime

Some one may need to use codes to create or edit a method in Axapta.
Here is an example to show how to create a lookup method for a form’s field in runtime.

    static void CreateFieldMethod(Args _args)
{

TreeNode tn1,tnAddr, methodsNode;
MemberFunction memberFunction;
str source;
;
        tn1 = infolog.findNode(\Forms\Address\Data Sources\Address\Fields\AddrRecId”);

tnAddr = infolog.findNode(
\Forms\Address );
methodsNode = tn1.AOTfindChild( ‘Methods’ );
methodsNode.AOTadd(‘lookup’);
memberFunction = methodsNode.AOTfindChild( ‘lookup’ );
source =
@”public void lookup(FormControl _formControl, str _filterStr)
{
super(_formControl, _filterStr);
                         }” ;
        memberFunction.AOTsetSource(source, false);
memberFunction.AOTsave();
methodsNode.AOTsave();
tnAddr.AOTcompile();

    }

Leave a comment