|
![]() |
#1 |
Участник
|
DialogField+Modified
Всем доброго времени суток. У меня возникла такая проблема: перекрываю метод modified у dialogField - причем при этом не могу получить значение из данного поля.
В чем может быть проблема??? X++: public boolean fld2_1_modified() { //Собственный участок кода return True; } |
|
![]() |
#2 |
Участник
|
а super() где?
не уверен, что такое название функции "перекроет" стандартный метод modified(). "Перекрываются" методы с одинаковым именем. |
|
![]() |
#3 |
Участник
|
видимо перекрывается в диалоге...
|
|
![]() |
#4 |
Участник
|
Наверно я неправильно садал вопрос. Есть класс наследник от RunBaseBatch. В методе dilaog создаю динамически поля. Потом (по примеру найденному на форме) перекрываю метод modified для отлова изменения в поле. Изменение отлавливается, но введенной значение из поля не получить. Вот собственно проблема.
|
|
![]() |
#5 |
Участник
|
|
|
![]() |
#6 |
Участник
|
Хорошо бы привести именно собственный участок кода - ошибка скорее всего в нем
![]() |
|
![]() |
#7 |
Участник
|
public boolean fld2_1_modified()
{ print dialogFirstDate.value(); return True; } |
|
![]() |
#8 |
Участник
|
dialogFistDate - поле, которому метод перекрываем.
|
|
![]() |
#9 |
Участник
|
X++: public boolean fld2_1_modified() { print dialogFirstDate.value(); pause; //Здесь пауза есть? return True; } |
|
![]() |
#10 |
Участник
|
2 kashperuk: Наличиу pause ничего не изменяет.
2 mazzy: да именно так и перекрываю. Последний раз редактировалось lemchey_white; 09.08.2007 в 11:53. |
|
![]() |
#11 |
Участник
|
Есть возможность для поля вызвать не перегруженный метод, ну или хотябы как то получить это значение?
|
|
![]() |
#12 |
Участник
|
Повторю вопрос mazzy:
Или система сама должна догадаться об этом? Код метода должен быть а-ля: X++: boolean Fld2_1_modified() { Boolean ret; Object control = dlg.formRun().controlCallingMethod(); ; ret = control.modified(); box::info(strFmt("%1", dlgToDate.value())); return ret; } Вот, класс прилагается. P.S. А Вам совет, на будущее. Если хотите, чтобы Вам быстро и квалифицированно помогли, учитесь правильно задавать вопросы. |
|
|
За это сообщение автора поблагодарили: lemchey_white (1). |
![]() |
#13 |
Участник
|
Спасибо за помощь, работает.
|
|
![]() |
#14 |
Гость
|
сдается, причина в смене print -> box::info(
|
|
![]() |
#15 |
Участник
|
![]() Скорее, в вызове modified контрола (типа super()) Попробуйте закомментировать эту строку, и значение сразу будет пустое |
|
![]() |
#16 |
Гость
|
а если вместо return ret выставлять return true при этом?
|
|
![]() |
#17 |
Участник
|
Так?
X++: boolean Fld2_1_modified() { Boolean ret; Object control = dlg.formRun().controlCallingMethod(); ; //ret = control.modified(); box::info(strFmt("%1", dlgToDate.value())); return true;//ret; } |
|
|
![]() |
||||
Тема | Ответов | |||
Как вызвать modified в Design формы | 6 | |||
Вызов метода modified DS | 1 | |||
lookup не закрывается до завершения метода modified | 4 | |||
modified два раза два раза | 5 | |||
Транзакция в modified | 1 |
|