以文本方式查看主题

-  蓝色快车PB俱乐部论坛  (http://pb.besoft.com.cnhttp://pb.besoft.com.cn/bbs/index.aspindex.asp)
--  PowerBuilder MIS编程  (http://pb.besoft.com.cnhttp://pb.besoft.com.cn/bbs/index.aspbbs.asp?boardid=1)
----  PB的致使弱点,就在于无法实现动态加载,有哪位曾经实现过类似Java中的反射技术吗?  (http://pb.besoft.com.cnhttp://pb.besoft.com.cn/bbs/index.aspdispbbs.asp?boardid=1&rootid=3517&id=3530)


--  作者:redleaf_wgm
--  发布时间:2005/12/28 19:59:46

--  PB的致使弱点,就在于无法实现动态加载,有哪位曾经实现过类似Java中的反射技术吗?
PB的致使弱点,就在于无法实现动态加载,有哪位曾经实现过类似Java中的反射技术吗?

1、需要通过类的名称(字符串形式)实例化一个类
2、需要通过一个类的成员名称(字符串形式)访问一个类的成员
3、需要通过一个全局函数名称(字符串形式)访问此全局函数

有谁在PB中做过这种动态加载的技术呢?其实,为什么大家都从PB中转移出去使用别的工具去了呢?虽然PB简单,快捷,方便,但是就是因为不能够灵活处理这一点,就足够让无数的人摒弃它,造成这种命运的人,和能够挽回这一局面的人,都是Sybase。


--  作者:2427
--  发布时间:2005/12/31 13:00:29

--  
pb这个方面确实不够灵活。runtime的信息支持太差了,发生错误的时候可以跟踪到对象和错误事件,如果sybase愿意应该可以提供出来这个方面的东东。
--  作者:2427
--  发布时间:2006/1/4 9:30:50

--  
3、需要通过一个全局函数名称(字符串形式)访问此全局函数 : 这个可以实现
dw_1 .Describe ("Evaluate ( 'f_test()' , 1 ) " )
--  作者:msgtogcr
--  发布时间:2006/1/5 17:32:35

--  
第一条完全可以:你看看有关 Open() 和 OpenUserObject() 的语法 2 就知道可以通过指定类名来实例化对象.
第二条和第三条应该说无法实现(2427 的方法有参数和返回值类型的限制,所以...)
尽管如此,我个人认为关于动态机制方面 PB 虽不完美,可也没有差到必须马上放弃它,在解决数据库领域(CS)的问题上,它仍可算得上是一款优秀的编译器!

">