Показать сообщение отдельно
Старый 18.05.2006, 11:47   #1  
latvik is offline
latvik
Участник
 
74 / 13 (1) ++
Регистрация: 27.05.2004
Адрес: Moscow, YS
Подскажите с чем связана подобная реализация 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;
}
}