js向 atl 传递 dialogarguments 我向atl传IHTMLDialog不成功。如何传递 dialogarguments 呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 js怎么会有CDHtmlDilog的对象指针等,js应该是传递html等上面的数据给CDHtmlDilog等来响应处理的 我传递的是window对象,在atl中无法换成IHTMLDialog 为什么要传递window对象...通常的操作,js都只需要传递数据,信息等给ATL,操作window都可以交给js js只认识IDispatch[Ex],所有其他接口类型都不识别,想传递接口指针就必须使用QueryInterface 我传递IDispatch 时queryinterface IHTMLWindow2可以成功。可是queryInterface IHTMLDialog却不可以成功。我那个窗体明明是模态窗体呀 代码是怎么样的,QueryInterface 返回错误是什么 queryinterface返回的错误怎么看?我是看到取得的IHTMLDialog为空所以认为是错误的。 HRESULT hr = QueryInterface() ... 对我就是通过对话框内部的脚本,向对话框中嵌入的ActiveX控件传递参数,是对话框,这里与前一个窗体已经没有什么关系了。大家踊跃发言呀,我准备再加点分 根据hr的值,MSDN上查看GetLastError中的error code CComQIPtr<IHTMLDialog> spD; if(spW->QueryInterface(IID_IHTMLDialog,(void **) &spD)!=S_OK) { LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL );}使用以上代码,lpMsgBuf 提示操作成功完成。好像QueryInterface反回值不是S_OK,为什么还是成功完成呢? S_开头的都表示成功,不仅仅是S_OK,还有S_FALSE。光判断HRESULT还不够,还要判断spD的值是不是空。 还有HRESULT的错误值本身就包含错误信息,不会设置全局WIN32错误码,所以不能使用GetLastError来读取错误码。 你先读出QueryInterface返回的值,然后查看对应的信息 谢谢各位,传dialogArguments解决了。关于那个IHTMLDialog的问题没有解决。大家可以积极发言。晚上结贴。 关于FLASH验证码识别 ?视频采集什么方法好啊?VFW作视频采集,是不是只是针对不带采集卡的摄像头的阿? 如果配有专门的采集卡 是不是不能使用VFW? 有关树型控件的问题 关于CreateInstance的问题 高手请讲 串口通信中,能不能对奇偶校验位进行操作? 请看这个贴子,刚才那个打不开。 句柄值 界面上的一个radio button control控件在类向导的成员变量中找不到 对话框中点击单选按钮切换对话框某一部分 各位大哥,哪儿有机械工业出版社出版的VISUAL C++5.0开发技术内幕下载呀? *.manifest對dll無效 奇怪的分支语句
window对象,
在atl中无法换成IHTMLDialog
通常的操作,js都只需要传递数据,信息等给ATL,操作window都可以交给js
可是queryInterface IHTMLDialog却不可以成功。
我那个窗体明明是模态窗体呀
我是看到取得的IHTMLDialog为空所以认为是错误的。
是对话框,这里与前一个窗体已经没有什么关系了。大家踊跃发言呀,我准备再加点分
if(spW->QueryInterface(IID_IHTMLDialog,(void **) &spD)!=S_OK)
{
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
}使用以上代码,lpMsgBuf 提示操作成功完成。好像QueryInterface反回值不是S_OK,为什么还是成功完成呢?
光判断HRESULT还不够,还要判断spD的值是不是空。
传dialogArguments解决了。
关于那个IHTMLDialog的问题没有解决。
大家可以积极发言。
晚上结贴。