SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1065|回复: 3
打印 上一主题 下一主题

CALL SUPER问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2003-12-1 15:13:44 | 只看该作者

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,不知怎么回事?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2003-12-1 16:38:34 | 只看该作者
一般在override父类的某些方法后,在instantiate子类的时候,被override的方法仍需被调用,以使类的实例初始化的顺利完成或某些必要功能的顺利执行。因此需在override的同时,调用_super()方法。

你可以试试如下方法:

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

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

个人理解,不对之处请多多批评。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2003-12-1 16:49:27 | 只看该作者
_super();在用class语句建一个class时还好用,如果时class editor的那个scl,加在那个位置,就不行了。这时还是call super好一点。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2003-12-1 21:12:52 | 只看该作者
问题是否解决了?

欢迎就各种有关开发的问题进行探讨!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-1-5 18:49 , Processed in 0.115812 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表