|  21.04.2008, 01:48 | #1 | 
| Участник | Использование caller в args 
			
			Здравствуйте! Помогите, пожалуйста разобраться с взаимодействием дочерней и родительской формой через caller. Есть главная форма Form1 с текстовым полем и кнопкой. При нажатии на кнопку вызывается форма Form2 с одной кнопкой, по нажатию на которую в текстовое поле формы Form1 должно записаться, например, "Привет Вася". Как это сделать? Понятно, что в методе clicked кнопки Form1 код такой: X++: Args args = new Args(); FormRun formRun; ; args.name(formstr(Form2)); args.caller(this.owner()); formRun = classFactory.formRunClass(args); formRun.init(); formrun.run(); formrun.wait();   | 
|  | 
|  21.04.2008, 03:23 | #2 | 
| Участник | 
			
			Если в Form1 есть метод setText, который устанавлиает значение поля, то в обработчике нажатия кнопки Form2 надо написать следующее: X++: void clicked() { object o; ; o = element.args().caller(); o.setText("Привет Вяся"); } | 
|  | 
|  21.04.2008, 11:08 | #3 | 
| Боец | X++: args.caller(this.owner()); X++: args.caller(element); X++: if (SysFormRun::hasMethod(o, identifierstr(setText)) { o.setText("Привет Вяся") } | 
|  | 
|  23.04.2008, 12:18 | #4 | 
| Участник | 
			
			Спасибо огромное всем!!! Простите - раньше не могла ответить...
		 | 
|  |