28.10.2006, 16:40 | #1 |
Участник
|
Fred Shen: Create a new method in runtime
Источник: http://fredshen.spaces.live.com/Blog...E4E3!172.entry
============== 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; ; //Thanks for Max Belugin's comments, //it is really good to use Verbatim String as well. //The reason why I use escape characters here is //because this line of code is copied from standard Axapta application :) 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(); } ============== Источник: http://fredshen.spaces.live.com/Blog...E4E3!172.entry |
|