• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 脚本引擎重新加载脚本的问题

脚本引擎重新加载脚本的问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了.vbs脚本引擎,behavioral脚本引擎,没有vbs脚本引擎,脚本引擎,windows脚本引擎等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 脚本引擎重新加载脚本的问题
描述:

 HRVERIFY(LoadTypeLib(L"testeng2.tlb", &ptLib), "LoadTypeLib");
ptLib->GetTypeInfoOfGuid(CLSID_Scripttry, &pScriptptr->m_pTypeInfo);
    ptLib->Release();
HRVERIFY(pMyObject->QueryInterface(IID_IUnknown,
      (void **)&pScriptptr->m_pUnkScriptObject), "IUnknown initialization");
   HRVERIFY(CoCreateInstance(CLSID_VBScript, NULL, CLSCTX_INPROC_SERVER,
      IID_IActiveScript, (void **)&pAS), 
      "CoCreateInstance() for CLSID_VBScript");
   HRVERIFY(pAS->QueryInterface(IID_IActiveScriptParse, (void **)&pASP),
      "QueryInterface() for IID_IActiveScriptParse");
    HRVERIFY(pAS->SetScriptSite((IActiveScriptSite *)pScriptptr),
      "IActiveScript::SetScriptSite()");
   HRVERIFY(pAS->AddNamedItem(L"MyObject", SCRIPTITEM_ISVISIBLE |
      SCRIPTITEM_ISSOURCE), "IActiveScript::AddNamedItem()");
HRVERIFY(pASP->InitNew(), "IActiveScriptParse::InitNew()");
len=scriptdata->GetWindowText(szBuf,1024);
szBuf[len] = 0;
WCHAR wcBuf[1024];
    memset(wcBuf, 0, sizeof(WCHAR)*1024);
    MultiByteToWideChar(CP_ACP, 0, szBuf, strlen(szBuf), wcBuf, 1024);
BSTR code = ::SysAllocString(wcBuf);
    EXCEPINFO ei;
HRVERIFY(pASP->ParseScriptText(code, L"MyObject", NULL, NULL, 0,
      0, 0L, NULL, &ei), "ParseScriptText");
HRVERIFY(pAS->SetScriptState(SCRIPTSTATE_CONNECTED), "SetScriptState");
load=true;
  上面是我使用脚本引擎的程序片断,现在问题是我加载脚本后,如果想修改脚本函数重新下载,程序不报错,但之前下载的脚本还在起作用,IActiveScriptParse接口又没有提供删除脚本的功能,是不是只有删除IActiveScript这个对象了
HRVERIFY(pAS->SetScriptState(SCRIPTSTATE_DISCONNECTED), "SetScriptState");
pASP->Release();
我试过先断开连接然后IActiveScriptParse release;也还是不行
  如果只能通过删除IActiveScript对象,怎么删除才能删干净,主要三个对象IActiveScriptSite,IActiveScript IActiveScriptParse,IActiveScriptSite应该不用删除了,令两个对象都需要删除才行,大家帮帮忙。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何接管CHtmlView的脚本引擎接口?
  • 脚本引擎嵌入的问题
  • 脚本引擎重新加载脚本的问题
  • 开发的com组件在vbs脚本中不能使用
  • 脚本引擎的深入探讨

相关文章

  • 2017-06-04 求做聊天网站方面的高手
  • 2017-06-04 alt,com到底能做什么?问一下高手
  • 2017-06-04 Windows下捕获桌面进程explorerexe"粘贴"的消息
  • 2017-06-05 如何从进程号或者进程名得到窗口名字?我想发WM_CLOSE给窗口
  • 2017-06-04 请问在VisualC++中有些什么方法调用COM组件对象(问题很复杂,请教)
  • 2017-06-04 进程外和进程内的COM??
  • 2017-06-05 关于MSVCRTDLL和MSVCRTDDLL的疑惑??
  • 2017-06-04 IMultiMediaStream这个接口怎么对音频进行操作呢?
  • 2017-06-05 dll中输出类应该如实现?
  • 2017-06-04 急,高分求ATL中自绘菜单的问题!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 急!!ATL编程:给接口添加方法时如何使用自己写的类作为参数的类型
    • 程序非法操作的状态检测
    • [help]ATLDLLCOM组件编译时,遇到两个静态库冲突的问题,请大家指点迷津
    • 如何解决Tab、Enter、Esc、方向键的响应问题(Activex是用VB写的,很急,谢谢)
    • COM引入的问题
    • 请教!ATL实现多接口,VBS中如何调用非默认接口?
    • 我想用VC通过ATL将ado对象封装起来,请问该怎么做
    • 多线程同步问题
    • 高分请教!office插件问题
    • 尝试着问一个不太容易实现的问题,关于Grid

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有