alexlz
alexlz

Reputation: 666

How to override FormControl method at RunTime?

I'm trying to make some kind of validation framework in Dynamics AX 2009. And I need to override some FormControl methods at runtime.

For example this is MyValidationTool class:

void applyValidation(FormControl _control)
{
    _control.overideMethod("modified", this.validate());
}

So I can use it in any form object like this:

void init()
{
    MyValidationTool validationTool = new MyValidationTool();
    ;

    validationTool.applyValidation(userNameStringEdit);
}

Maybe I completely wrong at what I want. But I still will appreciate the answer of how I can override methods programmatically using X++.

Upvotes: 2

Views: 2307

Answers (1)

DAXaholic
DAXaholic

Reputation: 35338

Have a look at the tutorial form tutorial_Form_AddControl
What you have to do in short is create methods in the form of controlName_methodToOverride, e.g. myTxt_validate.
If you want to override the methods for runtime controls not directly on the form but on a separate object, take a look at the form's method controlMethodOverloadObject - with that method you can specify the object on which the methods of form controlName_methodToOverride will be invoked if possible.

Upvotes: 3

Related Questions