IScriptControlPtr调用js的问题

njcuiniao 2010-01-19 03:34:07
js代码:
if(window.ActiveXObject)
{
ExcelHttp = new ActiveXObject("Excel.Application");
}

IScriptControlPtr调用到window.ActiveXObject这个地方就会报错,但是同样的代码用ie浏览器打开是能正常执行的?
...全文
321 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
njcuiniao 2010-01-20
  • 打赏
  • 举报
回复
pScriptControl->Run("getKey", &psa);
在这一行出错的,在js代码里去掉new ActiveXObject(XXX.XXX)不会报错,加上后报错如下:
First-chance exception at 0x7c812a5b in Runjs.exe: Microsoft C++ exception: _com_error at memory location 0x0012fb44..
jameshooo 2010-01-19
  • 打赏
  • 举报
回复
首先需要断点跟踪,其次要用 try catch 语句捕获错误信息,出错的可能性太多了
njcuiniao 2010-01-19
  • 打赏
  • 举报
回复
非常感谢jameshooo,现在是可以执行了,但如果我要执行new ActiveXObject(XXX.XXX),其中XXX.XXX是自定义的自动对象,我用IE是可以执行的,但用VC调到new ActiveXObject(XXX.XXX)就出错了,这又是怎么回事呢?
jameshooo 2010-01-19
  • 打赏
  • 举报
回复
window对象是IE提供的命名项对象,标准脚本引擎中无此对象,所以离开IE就不能用。
正确用法是去掉 if 判断,直接调用 new ActiveXObject,因为 ActiveXObject 是脚本引擎提供的标准对象。
njcuiniao 2010-01-19
  • 打赏
  • 举报
回复
pScriptControl->Language = "JScript";
我是用的js引擎,继续在线等!
wangk 2010-01-19
  • 打赏
  • 举报
回复
IScriptControlPtr你用的VBS模式吧,请使用JS引擎

3,245

社区成员

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

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