09.08.2007, 11:30 | #1 |
Участник
|
DialogField+Modified
Всем доброго времени суток. У меня возникла такая проблема: перекрываю метод modified у dialogField - причем при этом не могу получить значение из данного поля.
В чем может быть проблема??? X++: public boolean fld2_1_modified() { //Собственный участок кода return True; } |
|
09.08.2007, 11:34 | #2 |
Участник
|
а super() где?
не уверен, что такое название функции "перекроет" стандартный метод modified(). "Перекрываются" методы с одинаковым именем. |
|
09.08.2007, 11:39 | #3 |
Участник
|
видимо перекрывается в диалоге...
|
|
09.08.2007, 11:40 | #4 |
Участник
|
Наверно я неправильно садал вопрос. Есть класс наследник от RunBaseBatch. В методе dilaog создаю динамически поля. Потом (по примеру найденному на форме) перекрываю метод modified для отлова изменения в поле. Изменение отлавливается, но введенной значение из поля не получить. Вот собственно проблема.
|
|
09.08.2007, 11:41 | #5 |
Участник
|
Хорошо бы привести именно собственный участок кода - ошибка скорее всего в нем
|
|
09.08.2007, 11:43 | #6 |
Участник
|
public boolean fld2_1_modified()
{ print dialogFirstDate.value(); return True; } |
|
09.08.2007, 11:45 | #7 |
Участник
|
|
|
09.08.2007, 11:45 | #8 |
Участник
|
dialogFistDate - поле, которому метод перекрываем.
|
|
09.08.2007, 11:47 | #9 |
Участник
|
X++: public boolean fld2_1_modified() { print dialogFirstDate.value(); pause; //Здесь пауза есть? return True; } |
|
09.08.2007, 11:51 | #10 |
Участник
|
2 kashperuk: Наличиу pause ничего не изменяет.
2 mazzy: да именно так и перекрываю. Последний раз редактировалось lemchey_white; 09.08.2007 в 11:53. |
|
09.08.2007, 12:03 | #11 |
Участник
|
Есть возможность для поля вызвать не перегруженный метод, ну или хотябы как то получить это значение?
|
|
09.08.2007, 12:09 | #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). |
09.08.2007, 12:22 | #13 |
Участник
|
Спасибо за помощь, работает.
|
|
09.08.2007, 12:48 | #14 |
Гость
|
сдается, причина в смене print -> box::info(
|
|
09.08.2007, 12:51 | #15 |
Участник
|
врядли.
Скорее, в вызове modified контрола (типа super()) Попробуйте закомментировать эту строку, и значение сразу будет пустое |
|
09.08.2007, 12:54 | #16 |
Гость
|
а если вместо return ret выставлять return true при этом?
|
|
09.08.2007, 12:57 | #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 |
|