|  06.07.2005, 15:22 | #1 | 
| Участник | несколько Repot-ов и один class(RunBaseReport) 
			
			Здраствуйте! У меня есть несколько отчётов с абсолютно одинаковыми параметрами. Есть класс (RunBaseReport). Хочу иметь возножность в диалоге выбирать какой отчёт надо показать. Сделал в диалоге комбо-бокс для выбора отчёта. Результат из него забираю в методе getFromDialog. В методе lastValueElementName в зависимости от результата возвращаю нужный репорт. Проблема в том, что метод lastValueElementName вызывается 2 раза до getFromDialog и 1 раз после. И очёт разумеется совсем не тот получается. Диалог инициализируется так: ret = DialogRunbase::newOnClient(this.caption(),this); т.е. super() не вызывается. Поскажите, как сделать правильно... и верный ли путь я выбрал? | 
|  | 
|  06.07.2005, 16:36 | #2 | 
| Участник | 
			
			Я как-то так в свое время делал: void run() { .... ; if(Условие1){ this.makeReportRun(reportStr(report1)); super(); } else if(Условие2){ this.makeReportRun(reportStr(report1)); super(); } А lastValueElementName() просто был: private identifiername lastValueElementName() { return reportStr(report1); } Для тех отчетов, применительно к которым делал, было нормально. Насчет общего случая может и некорректно. | 
|  | 
|  07.07.2005, 12:57 | #3 | 
| Участник | 
			
			Спасибо!
		 | 
|  | 
|  08.07.2005, 11:35 | #4 | 
| Участник | 
			
			Что-то какое-то странное поведение у моего класса, никак не могу разобраться с ним. Если в диалоге я выбираю другой отчёт (который не по умолчанию), то мои переменные не запаковываются, т.е. в этом случае я не могу сохранить параметры, которые выбрал пользователь. Если отрубить в run всё, кроме super, то всё пакуется нормально.
		 | 
|  | 
|  08.07.2005, 14:58 | #5 | 
| Участник | 
			
			Разобрался с ошибкой.
		 | 
|  | 
|  | 
| 
 |