SAS中文论坛

标题: CALL SUPER问题 [打印本页]

作者: shiyiming    时间: 2003-12-1 15:13
标题: CALL SUPER问题
我 class rb extends sashelp.classes.radiobox_c.class;

rb中new了个method:m1.

把这个rb拉到一个frame中,希望当这个frame执行的时候,这个object的m1自动运行,所以事前在创建class时,我overide了postinit的方法。这个方法体中为m1();

但是报错:ERROR: The SUPER _POSTINIT_ method has not been called for Rb_method,不知怎么回事?
作者: shiyiming    时间: 2003-12-1 16:38
一般在override父类的某些方法后,在instantiate子类的时候,被override的方法仍需被调用,以使类的实例初始化的顺利完成或某些必要功能的顺利执行。因此需在override的同时,调用_super()方法。

你可以试试如下方法:

在m1中,添加一行
_super();

看看能否解决问题。如果问题解决,那么上述的问题就是症结所在。

个人理解,不对之处请多多批评。
作者: shiyiming    时间: 2003-12-1 16:49
_super();在用class语句建一个class时还好用,如果时class editor的那个scl,加在那个位置,就不行了。这时还是call super好一点。
作者: shiyiming    时间: 2003-12-1 21:12
问题是否解决了?

欢迎就各种有关开发的问题进行探讨!




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2