如何用IActiveScriptSiteInterruptPoll结束脚本的执行。

caslwzgks 2005-05-10 05:35:34
对于脚本宿主(ActiveHost)来说如果脚本内有长时间执行的任务或死循环或脚本调用的外部组件内有死循环,ActiveHost可以通过实现IActiveScriptSiteInterruptPoll接口重载QueryContinue访法来中断执行,如QueryContinue让返回S_FALSE。但是如何让它起作用呢?
...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingzai 2005-05-13
  • 打赏
  • 举报
回复
How do i stop a script within the script?
Never had to do this, but I dug some info up for you.

There is IActiveScriptSiteInterruptPoll, with the single method QueryContinue(). Both the VBScript and JScript engines query for it, and when you return S_FALSE from QueryContinue(), the script stops executing.

So say you wanted to run a script within a user interface. While the script is running, you display a "please wait" dialog box with a "stop" button on it. When the user presses the button, set your m_bQuit flag to TRUE, and then implement QueryContinue like this.


STDMETHOD(QueryContinue)()
{
// ... pump any windows messages so the stop button can be pressed

if (m_bQuit)
return S_FALSE;
return S_OK;
}

or you could just set a flag and bypass remaing code if flag is set
here is vbscript language reference.
http://msdn.microsoft.com/library/default....oriVBScript.asp
caslwzgks 2005-05-13
  • 打赏
  • 举报
回复
我分怎么给呀:(
xiaolivc 2005-05-11
  • 打赏
  • 举报
回复
很好的文章呀
可以来这个群里一起讨论吗 8051231


关于 vc 学习与交流的群
caslwzgks 2005-05-11
  • 打赏
  • 举报
回复
看来没有人知道:(
caslwzgks 2005-05-10
  • 打赏
  • 举报
回复
其它的也行只要能达到目的就行。
jerry 2005-05-10
  • 打赏
  • 举报
回复
这个接口 没听说过呀?
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 在Android系统上达成蓝牙与便携式打印机的连接,通常包含了一系列技术要素和操作流程。名为"Android连接蓝牙打印机(cpcl指令)Demo完整版"的项目提供了一个全面的解决方案,它运用了专门的打印机指令集——CPCL(Control Program for ClearType Language),该指令集主要用于操控打印作业,尤其适用于标签和面单的打印。以下是关于此主题的详尽阐述: 1. **蓝牙传输打印**:Android平台内置了`BluetoothAdapter`类别用于管理蓝牙数据交互。必须确认设备已启用蓝牙功能,随后对邻近的蓝牙设备进行探测。`startDiscovery()`函数负责启动搜寻过程,而`getBondedDevices()`能够列出已建立配对的设备。 2. **建立与便携打印机的联系**:当识别出目标打印机后,可借助`BluetoothDevice`类中的`createRfcommSocketToServiceRecord()`函数构建RFCOMM(蓝牙串行端口协议)的通道。一旦连接建立成功,便可通过`connect()`函数与打印机展开信息交流。 3. **CPCL编码**:CPCL是一种与ESC/POS类似的页面描述性语言,它用于调控打印机的输出格式、文字样式、条形码等。比如,`^PJL`用于设定页面布局,`^FO`指定输出位置,`^A`设定字体尺寸,`^BC`生成条形码,`^PG`执行分页操作。在Android程序中,需将CPCL编码转为文本格式,再经由蓝牙通道传输至打印机。 4. **博思达软件开发工具包**:博思达作为一家著名的打印...

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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