Подскажите с чем связана подобная реализация SysTableLookup
при решении задачи возникла необходимость перекрыть метод lookup() у поля Realedit на форме. и не получилось. посмотрел класс SysTableLookup и в нем метод
void performFormLookup()
{
FormStringControl callingStringControl;
FormIntControl callingIntControl;
FormDateControl callingDateControl;
;
if (!callingControl)
throw(error(Error::wrongUseOfFunction(funcName())));
switch (callingControl.handle())
{
case classNum(FormStringControl):
callingStringControl = callingControl;
callingStringControl.performFormLookup(this.formRun());
break;
case classNum(FormIntControl):
callingIntControl = callingControl;
callingIntControl.performFormLookup(this.formRun());
break;
case classNum(FormDateControl):
callingDateControl = callingControl;
callingDateControl.performFormLookup(this.formRun());
break;
}
}
видим что RealEdit проигнорирован. Вопрос: Почему так?
а вот в таком модифицированном виде все работает
void performFormLookup()
{
FormStringControl callingStringControl;
FormIntControl callingIntControl;
FormDateControl callingDateControl;
FormRealControl callingRealControl;
;
if (!callingControl)
throw(error(Error::wrongUseOfFunction(funcName())));
switch (callingControl.handle())
{
case classNum(FormStringControl):
callingStringControl = callingControl;
callingStringControl.performFormLookup(this.formRun());
break;
case classNum(FormIntControl):
callingIntControl = callingControl;
callingIntControl.performFormLookup(this.formRun());
break;
case classNum(FormDateControl):
callingDateControl = callingControl;
callingDateControl.performFormLookup(this.formRun());
break;
case classNum(FormRealControl):
callingRealControl = callingControl;
callingRealControl.performFormLookup(this.formRun());
break;
}
}
|