多线程activex控件回调javascript方法的问题
我写了一个控件,利用wininet模拟http client,由于效率问题,打算利用多线程来提高效率,由于是通过javascript来调用activex接口的所以要等线程完成回调js方法来讲http response返回给js,但Invoke方法执行了但从页面上看却没有执行js的方法,我后来试着把Invoke方法移到了重写的SetSite接口里,js方法就执行了,请问高手这是为什么,难道只能在覆写的com接口里才能调用javascript方法?
代码的大致框架如下:
STDMETHODIMP AXClass::SetSite(IUnknown *pUnkSite)
{
CComPtr <IServiceProvider> pSP;
HRESULT hr = pUnkSite-> QueryInterface(&pSP);
CComPtr <IWebBrowser2> pBro;
pSP-> QueryService(IID_IWebBrowserApp, IID_IWebBrowser2, (LPVOID*)&pBro);
pBro-> get_Document((IDispatch**)&m_spDoc);//m_spDoc是控件的成员变量
}
STDMETHODIMP AXClass::SendRequest(name,...)//name由js传入,是请求完毕后要调用的js方法
{
...
_beginthread(ThreadStart, ...); //这里新建一个线程,ThreadStart是线程入口函数
...
}
void ThreadStart(name, ...)
{
//发送请求并得到返回数据responseData
...
CComPtr <IDispatch> spDisp;
m_spDoc-> get_Script(&spDisp);
CComBSTR bstrMember(name);
DISPID dispid;
spDisp-> GetIDsOfNames(IID_NULL,&bstrMember,1,LOCA
相关问答:
这是我的文本框
<input type="text" size="60" name="password_answer" id="pwdanswer" value="$!password_answer" >
提交按钮
<input clas ......
问题内容:判断顺序号列及子序号列必须为数字。
<td><div align="center"><input type="text" name="xuHao${g+1}" class="inputW" value="& ......
有一个js文件,是实现文字滚动的,其中的变量需要到mysql数据库中读取,那么怎样实现数据库连接而读取数据?
我是菜鸟,最好有完整的代码和解释,谢谢各位大虾啊啊啊啊啊啊!!!
http://blog.csdn.net/jemlee2002 ......
设有众多div层 希望点击到那个层,就获得那个层的id
问题是 我想把id转换成一个可以alert的数字
因为我需要这个数字来确定数组中的某一项
例如
我定义某个div的id为e1
点击他后 与之对应的数组aaa[1]中的数据返 ......
JScript code:
function C1(){}
function C2(){}
C2.prototype=new C1();
function C3(){}
C3.prototype=new C2();
var obj=new C3();
function C4(){}
C3.prototype=new C4();
alert(obj insta ......