首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

VF9为啥会出现乱序执行代码的情况

2013-01-11 
VF9为什么会出现乱序执行代码的情况?请看如下代码: info1 为一dbf表名,此段代码在list控件的dbclick事件中

VF9为什么会出现乱序执行代码的情况?
请看如下代码: info1 为一dbf表名,此段代码在list控件的dbclick事件中执行。textquestionname为list控件所在表单上的一个文本框控件,editquestionanswer为list控件所在表单上的一个编辑框控件。oe为excel.application对象。按设计思路,应该是双击列表框中的列表项时,查找info1表,如果找到记录,就把找到的内容填充文本框和编辑框,然后用OE对象发音读出编辑框中的内容。本来该顺序执行的,但每次都是先发出声音,读完后再填充文本框和编辑框,这是怎么回事呢??

Select info1
Locate For questionname=Alltrim(This.Value)
If Found()
Thisform.textquestionname.Value=Alltrim(info1.questionname)
Thisform.editquestionanswer.Value=Alltrim(info1.questionanswer)
Thisform.Refresh
oe.speech.speak(Thisform.editquestionanswer.Value)
Endif


[解决办法]
try:
oe.speech.speak(Thisform.editquestionanswer.Value,0)
or
oe.speech.speak(Thisform.editquestionanswer.Value,1)

[解决办法]

引用:
oe.speech.speak(Thisform.editquestionanswer.Value,1)
问题解决了!谢谢大师。加个1代表什么意思呢?现在知其然不知所以然啊?!
请参考:http://msdn.microsoft.com/en-us/Library/ms720892(v=VS.85).aspx
'SpVoice Flags'
SVSFDefault = 0&& 默认值,同步方式(调用后等待执行完毕再返回。
SVSFlagsAsync = 1&& 异步方式(调用后立即返回)。

热点排行