Delphi 如何阻止SAPI';在运行时模式下执行

Delphi 如何阻止SAPI';在运行时模式下执行,delphi,delphi-2010,Delphi,Delphi 2010,在运行时模式下,当我单击某个控件(如按钮)时,我试图在从备忘录中读取文本的行结束之前停止SAPI的执行。我该怎么做 我试图通过使用定时器的执行控制进度条来干扰SAPI的执行,当它到达位置2时,它会显示一条消息DLG,而SAPI的执行尚未到达从备忘录中读取文本的行尾。希望SAPI停止执行,但在运行时模式下执行时会禁用所有功能,在完成读取之前,我无法执行任何操作。基于执行SAPI spech生成会阻塞整个应用程序的事实,我猜您正在同步调用它,这意味着函数desen将在SAPI完成读取文本之前不会返回

在运行时模式下,当我单击某个控件(如按钮)时,我试图在从备忘录中读取文本的行结束之前停止SAPI的执行。我该怎么做


我试图通过使用定时器的执行控制进度条来干扰SAPI的执行,当它到达位置2时,它会显示一条消息DLG,而SAPI的执行尚未到达从备忘录中读取文本的行尾。希望SAPI停止执行,但在运行时模式下执行时会禁用所有功能,在完成读取之前,我无法执行任何操作。

基于执行SAPI spech生成会阻塞整个应用程序的事实,我猜您正在同步调用它,这意味着函数desen将在SAPI完成读取文本之前不会返回

相反,您应该异步调用它
,这意味着该函数立即返回,并且文本仍在后台读取

Thid允许您继续在应用程序中执行其他操作,当您告诉SAPI一个接一个地读取多个流时,还可以执行
暂停
恢复
,甚至
跳过