|  04.09.2008, 19:26 | #1 | 
| Модератор |  Вызов метода  element.args().caller().setOfficialsParams(.... 
			
			Помогите прояснить почему параметры не передаются.  Есть форма Form1. На ней кнопка с вызовом другой формы OfficialsSelect. При нажатии этой кнопки форме той передаются параметры: X++: void clicked() { Args args; Object formRun; OfficialsTrans_RU officialsTrans; ; super(); args = new Args(); args.name(formstr(OfficialsSelect)); args.caller(element); formRun = classfactory.formRunClass(args); formRun.init(); formRun.run(); formRun.wait(); if (formRun.closedOk() && offName) {...... Ок вызывает X++: public void closeOk() { super(); element.args().caller().setOfficialsParams(Position.selection(),/ Name.valueStr(), Title.valueStr()); } X++: void setOfficialsParams(OffPosition_RU _offPosition, Name _offName, TitleId _offTitle) { offPosition = _offPosition; offName = _offName; offTitle = _offTitle; // breakpoint; } Поле OffName обязательно должно заноситься. Почему не вызывается метод element.args().caller().setOfficialsParams( .... ? | 
|  | 
|  04.09.2008, 19:30 | #2 | 
| Участник | 
			
			public void closeOk() { super(); element.args().caller().setOfficialsParams(Position.selection(),/ Name.valueStr(), Title.valueStr()); } super() - вызывает закрытие формы и до второй строчки дело не доходит... легко проверяется трассировщиком | 
|  | |
| За это сообщение автора поблагодарили: Poleax (2). | |
|  04.09.2008, 19:33 | #3 | 
| Боец | 
			
			поставьте строку X++: element.args().caller().setOfficialsParams(Position.selection(),/ Name.valueStr(), Title.valueStr()); | 
|  | |
| За это сообщение автора поблагодарили: Poleax (2). | |
|  04.09.2008, 19:41 | #4 | 
| Модератор | 
			
			написание  X++: public void closeOk() { element.args().caller().setOfficialsParams(Position.selection(),Name.valueStr(), Title.valueStr()); super(); } но в метод setOfficialsParams НЕ заходит. просто спокойно его опускает. В методе setOfficialsParams стоит точка останова и даже писал breakpoint; Последний раз редактировалось Poleax; 04.09.2008 в 19:43. | 
|  | 
|  04.09.2008, 19:47 | #5 | 
| Модератор | 
			
			Забыл сказать Axapta 3.0 SP3
		 | 
|  | 
|  04.09.2008, 19:47 | #6 | 
| Боец | 
			
			Чудеса   Разнесите эту длинную строку: Object callerFromRun = element.args().caller(); ; if (callerFromRun && formhasMethod(callerFromRun, identifierstr(setOfficialsParams))) { callerFromRun.setOfficialsParams(...); } дебаг, проверте параметры в вызове setOfficialsParams() | 
|  | 
|  04.09.2008, 19:49 | #7 | 
| Модератор | 
			
			Спасибо все получилось. Точно super() надо было после. Все песпект. Щас балы прибавлю
		 | 
|  | 
| Теги | 
| ax3.0 | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Использование caller в args | 3 | |||
| вызов метода из таблицы в операторе while select | 7 | |||
| args.caller() и .dialog | 2 | |||
| args.caller() | 3 | |||
| args().caller() - ссылка | 2 | |||
| 
 |