|  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 | |||
| 
 |