该功能该如何实现?

zs99241 2005-08-19 03:50:45
代码顺序如下:
run(....)//生成文本文件
fileopen()//读取生成的文本文件的内容
fileread()

run(....)的执行还没完成即文本文件尚未真正写的操作,而程序就去读取文本文件了,这样就会出错,请问有什么办法可以让run(....)写完文本文件后才能继续执行后面的代码?
我想过用延时来解决这问题,但run(....)每次执行所花的时间都不一样,也不太好控制
...全文
103 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
saiche05 2005-08-19
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4195/4195699.xml?temp=.2653772
打不开呀
怎么回事。

说是:载入样式表单出错: 分析 XSLT 样式表单失败。
leio 2005-08-19
  • 打赏
  • 举报
回复
用API自己创建进程运行要run的程序,然后检测是否运行完成,待完成后执行fileopen,fileread。

http://community.csdn.net/Expert/topic/4195/4195699.xml?temp=.2653772
Methodor 2005-08-19
  • 打赏
  • 举报
回复
在实际中如果能够对run程序可有效控制则可很容易做到高效的编程
如果不行,则可根据run产生文本文件的机制和特性对独占尝试方式进行一定的优化以提高效率
Methodor 2005-08-19
  • 打赏
  • 举报
回复
一般都采用楼上的独占尝试的方式,尤其是在对run的程序不能或控制有限的情况下
有个缺点就是对系统资源有点浪费
li_d_s 2005-08-19
  • 打赏
  • 举报
回复
你fileOpen的时候用LOCKREADWRITE!选项啊,如果前面的没有执行完毕,那么fileOpen会返回失败的,你就循环fileopen,直到成功为止
shengjinbo 2005-08-19
  • 打赏
  • 举报
回复
加个循环,检测文件是否存在,如存在则跳出循环,在fileopen()
do while FileExists(....) = true
跳出
next
....

1,075

社区成员

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

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