18.05.2006, 11:47 | #1 |
Участник
|
Подскажите с чем связана подобная реализация 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; } } |
|