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 |
Участник
|
Спасибо огромное всем!!! Простите - раньше не могла ответить...
|
|