Thursday, August 11, 2016

Compilation without compiler window ax 2012

//Compilation without compiler window ax 2012

static void SysCompilerTargetExample(Args _args)
{
    ClassBuild          classBuild;
    DictClass           dictClass;
    SysCompilerTarget   targetOrig;
    ;
    // Setting Compilation Target = Message Window
    targetOrig = SysUserInfo::compilerTarget();
    SysUserInfo::compilerTarget(SysCompilerTarget::MessageWindow);
    SysCompilerOutput::setCompilerTarget(SysCompilerTarget::MessageWindow);
    SysCompilerOutput::updateParm();

    // Building the class with 1 method
    classBuild = new ClassBuild("TRN_ClassBuild", false);
    classBuild.addMethod("test", 'void test()\n{\n}');
    classBuild.addSourceToMethod("test", @"
    ;
    info('We created a Class and can call its methods');");

    // The actual compilation. Note the _flag argument == 1
    classBuild.classNode().AOTcompile(1);

    // Call the class method to show that we are done and the code is compiled
    dictClass = new DictClass(className2Id(classBuild.name()));
    dictClass.callObject('test', dictClass.makeObject());

    // Restoring Compilation Target to its original value
    SysUserInfo::compilerTarget(targetOrig);
    SysCompilerOutput::setCompilerTarget(targetOrig);
    SysCompilerOutput::updateParm();
}

No comments:

Post a Comment

Convert Call stack to readable format in D365FO X++

//Input --container _xppCallStack = xSession::xppCallStack();  Public static str POL_formatXppCallStack(container _xppCallStack, int _skipFr...