
Hi experts.
Scenario while being at FormDatasrouceEventType::Query execution event of DS1 of Form A there is a need to get name of formControls for Form X.
Have written below code , but keep getting object reference not set for line #7 & 8 on RUNTIME , please suggest a fix.
[FormDataSourceEventHandler(formDataSourceStr(FORMA, DS1), FormDataSourceEventType::QueryExecuting)]
public static void DS1_OnQueryExecuting(FormDataSource sender, FormDataSourceEventArgs e)
{
FormRun formRun = sender.formRun();
FormRun callerFormRun;
FormControlName callerFrmCtrlName = formRun.args().callerFormControl().name();
FormControlName failTileCtrlName = callerFormRun.design().controlName(formControlStr(FormX,Fail)).name();
FormControlName passTileCtrlName = callerFormRun.design().controlName(formControlStr(FormX,Pass)).name();
if(callerFrmCtrlName == FailTileCtrlName)
{
//do something
}
else if(callerFrmCtrlName == passTileCtrlName)
{
//do something
}
}
Thanks
Mav
It means that you're trying to call a method on a variable that doesn't contain any actual object. Its value is null.
In your case, you're trying to call design() method on callerFormRun, but you've never assigned any value to it. Asking for design of no form makes no sense, therefore you get an error.
The name suggests that you wanted to assign the name of the caller form: callerFormRun = formRun.args().caller().