Тема: Args
Показать сообщение отдельно
Старый 23.07.2002, 13:41   #6  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Например, Form AddressCheck

void clicked()
{
Args parameters = new Args();
MenuFunction addressFormatMenu;
;

addressFormatMenu = new MenuFunction(menuItemDisplayStr(AddressFormat),MenuItemType:<img src="http://www.axforum.info/forums/images/smilies/biggrin.gif" border="0" alt="">isplay);
parameters.caller(this);
addressFormatMenu.run(parameters);

Обрати внимание, что parameters, это объект.
Хм. Честно, говоря я не понял этот пример.

parameters это объект класса Args. Согласен.

Цитата:
Перед Run установи параметры.
В этом собственно и был мой вопрос. Как установить параметры ?

Если у меня есть класс (например А) и я в нем говорю args.caller(this), то тем самым я передаю в вызываемый класс/форму (назовем его Б) ссылку на него. Имея эту ссылко я могу много чего сделать, в том числе вызывать методы этого класса А и посредством этих методов обращаться к переменным класс А.

Но у меня есть форма (А) с клавишей. При нажатии на клавишу, я конечно могу сказать args.caller(this). Более того в вызываемом классе/форме (Б) я получу ссылку на эту кнопку. Но на фига мне ссылка на кнопку....
Казалось бы, в этом случае разумно передавать не ссылку на кнопку, а ссылку на форму - args.caller(element). Тогда в форме Б я пытаюсь делать так:

public void init()
{
Args args;
Б б;
;

super();
args = element.args();

б = args.caller();
б.Имя метода формы Б
}

Но Аксапта ругается, говорит, что Б это не класс. Ясно дело, что это форма.

Или это я чего-то не понял ?