SAS中文论坛
标题:
关于EVENT和EVENT HANDLER
[打印本页]
作者:
shiyiming
时间:
2003-12-1 09:13
标题:
关于EVENT和EVENT HANDLER
我建立mannual的event,可以通过sendEvent来在控件间传递信息,以供event handler的method接收这个信息,做下一步处理。
比如:obj._sendEvent("myEvent",msg)。
问题是:如果是before或after的event,我怎么传递那个msg呢?
作者:
shiyiming
时间:
2003-12-1 09:48
在下才疏学浅,对于event和eventhandler了解不多。据我所知,obj._sendevent("myevent",msg)的msg是传递给eventhandler所对应的方法的参数,与event是before还是after无关。
不知我是否正确理解了你的意思?以上回应内容为个人理解,还请多多批评指正。
作者:
shiyiming
时间:
2003-12-1 12:22
问题是before或after类型的event是自动触发的。而manual类型的event是通过scl中调用_sendEvent来触发的。_sendEvent进行设置后,即例如_self_._sendEvent('myEvent',msg),可以传递参数msg给接收对象的event handler,而before或after那个传递的参数msg在什么地方进行设置,我在class Editor中没有找到。
作者:
shiyiming
时间:
2003-12-1 13:51
我的操作:
1、新建对象objTest
2、在objTest中添加新method---methodTest: public method MSG:input:char; put 'TEST'; put '*****'; put MSG; endmethod;
3、在objTest中添加新event---eventTest,其中send=Before,method name=methodTest
4、在objTest中添加新event handler---_self_.eventTest,其中method name=methodTest
5、新建frameTest,插入对象objTest,在init中写入objTest._sendEvent('eventTest', 'hello');
其结果是无论是before、after还是mannual,都能将'hello'传递并输出打印。
是不是我理解的有问题?
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2