求PB高人解决一个pb的技术问题??

aisail 2016-09-03 08:48:30
遇到一个pb的技术问题,一直未解决,求pb高人指点,不胜感激,若能完美解决这个问题,可以支付一些费用以当酬谢,问题描述如下:

在我们软件里需要动态加载住院的床位,实现是在pb9中用 OpenUserObjectWithParm 动态创建一些picturebutton、statictext ,大概有三四十个的样子,从数据库循环读出来,再动态创建 picturebutton、statictext,并动态指定位置,给st的text加载值,在pb环境下运行很快就可以打开界面,但是编译后,运行这段代码就要十多秒时间才可以显示出界面,到底是为什么啊??有什么解决办法没有啊??
...全文
2099 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomok 2016-09-12
  • 打赏
  • 举报
回复
不到穷尽 不用动态
WorldMobile 2016-09-12
  • 打赏
  • 举报
回复
这个东东以前弄过,应该是OpenUserObjectWithParm 引起的,给你站内短信,QQ里帮你看看
WMERP 2016-09-04
  • 打赏
  • 举报
回复
你的床位是不是还要drag功能,拖动床位后将对象的位置信息都保存到数据库表中,然后下次数据窗口初始化化的时候需要重新绘制每个控件的位置。如果这样的话可能就是这个耗时间,你可以写个函数直接创建数据窗口的语法,然后通过数据窗口字符串直接创建数据窗口。
aisail 2016-09-03
  • 打赏
  • 举报
回复
系统里有很多这种动态加载的方式,要改恐怕不是一时半伙改得了的,还是想找到原因,我比较奇怪的是pb环境下运行很快,编译后运行就不行
qq_1919561306 2016-09-03
  • 打赏
  • 举报
回复
那就换一种方式来显示床位。抛弃动态创建对象的方式。
aisail 2016-09-03
  • 打赏
  • 举报
回复
跟踪过代码,发现就是动态创建控件的时候最花时间,速度瓶颈就在这里,数据库读取很快的
sbks 2016-09-03
  • 打赏
  • 举报
回复
没遇到过 建议在代码里加入写日志功能,通过读日志来检查慢在哪行代码,再考虑改进
bczhan 2016-09-03
  • 打赏
  • 举报
回复
开始先 setredraw(false) 结束再setredraw(true)

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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