动态建立tabpage页的问题

cbluesky 2003-10-30 08:41:54
窗口放一个tab控件,通过程序动态建立tabpage页
程序分为两部分
A:部分
integer li_rowcnt,i
str_parms lstr_parms
This.ToolbarAlignment = AlignAttop!
u_menu_tabpag Lu_menu_tabpag
datastore lds_menutree1
lds_menutree1=create datastore
lds_menutree1.dataobject='ds_menutree1'
lds_menutree1.settransobject(sqlca)
li_rowcnt=lds_menutree1.retrieve()

for i=1 to li_rowcnt

lstr_parms.string_arg[1]=lds_menutree1.getitemstring(i,'handleparent')
lstr_parms.string_arg[2]=lds_menutree1.getitemstring(i,'handlecurrent')
lstr_parms.string_arg[3]=lds_menutree1.getitemstring(i,'programid')
lstr_parms.string_arg[4]=lds_menutree1.getitemstring(i,'programname')
tab_1.OPENTABWITHPARM(Lu_menu_tabpag,lstr_parms,i)
next
B部分为tabpage的constructure事件代码:
str_parms lstr_parms
lstr_parms=message.PowerObjectParm
text=lstr_parms.string_arg[4]
发生的现象如下:
如果把A部分放在窗口的open或则pfc_preopen在B部分的tabpage页的每一个页的text都为A部分循环的最后一个值
如果把如果把A部分放在tab的constructure事件,在B部分的tabpage页的每一个页的text为A部分循环的对应的值,但是程序死机
请解决
...全文
263 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
佣工7001 2003-10-30
  • 打赏
  • 举报
回复
B部分为tabpage的constructure事件代码:
str_parms lstr_parms
lstr_parms=message.PowerObjectParm
text=lstr_parms.string_arg[4]
***************************************
问题一:这部分代码只能在A部分执行完成后,才能依次得到执行的机会,所以...
问题二:userobject变量应该声明为一个数组u_menu_tabpag Lu_menu_tabpag[]
第二种方法会引起事件死循环,所以会死机;
=================
解决的方法:
for i=1 to li_rowcnt

lstr_parms.string_arg[1]=lds_menutree1.getitemstring(i,'handleparent')
lstr_parms.string_arg[2]=lds_menutree1.getitemstring(i,'handlecurrent')
lstr_parms.string_arg[3]=lds_menutree1.getitemstring(i,'programid')
lstr_parms.string_arg[4]=lds_menutree1.getitemstring(i,'programname')
tab_1.OPENTABWITHPARM(Lu_menu_tabpag[i],lstr_parms,i)
Message.PowerObjectParm=lsstr_parms;
Lu_menu_tabpag[i].event Constructor()

next
qqjj7758 2003-10-30
  • 打赏
  • 举报
回复
需要这样做吗
创建了TAB还要在每页上放控件
麻烦。。。。
看看
mittee 2003-10-30
  • 打赏
  • 举报
回复
什么情况这么复杂,需要动态建立tabpage页,
tabpage页里的控件必须如下面使用,多繁阿
tab_1.tabpage_1.cbx_1.enabled = false
cbluesky 2003-10-30
  • 打赏
  • 举报
回复
不是運行時死機,是用pb運行後,程序退出時程序沒有了,但是要中斷pb才行,而且查看操作系統的任務管理器,pb還沒有退出
cbluesky 2003-10-30
  • 打赏
  • 举报
回复
dajianshi(拔剑四顾心茫然):

還是要死機,請繼續幫忙。謝謝

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧