社区
ATL
帖子详情
高分求教:我得到了接口指针,但运行到调用该接口的函数时总是异常退出。
smilemac
2005-05-07 10:56:21
就是执行到这一句的时候出错:
_com_dispatch_method(this, 0x2, DISPATCH_METHOD, VT_I2, (void*)&_result, NULL);
...全文
149
10
打赏
收藏
高分求教:我得到了接口指针,但运行到调用该接口的函数时总是异常退出。
就是执行到这一句的时候出错: _com_dispatch_method(this, 0x2, DISPATCH_METHOD, VT_I2, (void*)&_result, NULL);
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
miladuo
2005-05-08
打赏
举报
回复
帮你顶
老夏Max
2005-05-08
打赏
举报
回复
看看你是不是犯了以下的错误:
http://www.vckbase.com/document/viewdoc/?id=1183
wangweixing2000
2005-05-08
打赏
举报
回复
首先确保接口创建成功
估计调用方法中参数给的不匹配,你仔细看看!VT_I2是SHORT类型。
smilemac
2005-05-08
打赏
举报
回复
另外,我一开始用的是CComPtr来做的,结果出现了这个问题,我就改用其他几种方式结果都不行,用msdn的现成例子程序也不行,只有在资源里insert然后创建wrapper的方式可以.真是奇怪.
smilemac
2005-05-08
打赏
举报
回复
pIX的类型是_DTestOcx3, 这个类型是从TestOcx3.tlb中import进来的,有问题吗?
Frank123
2005-05-08
打赏
举报
回复
你的pIX是不是IID_IX3 *类型的?
建议使用CComQIPtr等智能指针,
关注,帮你顶
smilemac
2005-05-08
打赏
举报
回复
我所有返回值都检查了,都没问题.只有一个线程main,程序如下
_tmain(int argc, ...)
{
...
CLSID clsid;
HRESULT hr = CLSIDFromProgID(T2COLE("TESTOCX3.TestOcx3Ctrl.1"), &clsid);
const IID IID_IX3 =
{ 0x60528975, 0xD388, 0x477F,
{ 0xB9, 0x82, 0x11, 0x60, 0xCE, 0x97, 0x05, 0x08 } };
hr = ::CoCreateInstance(clsid,
NULL,
CLSCTX_INPROC_SERVER,
IID_IX3,
(void**)&pIX) ;
if (SUCCEEDED(hr))
{
trace("Succeeded creating component.") ;
pIX->Test() ; //*********************************
//试图访问不可访问的内存,程序退出
pIX->Release() ;
}
...
}
xuzheng318
2005-05-08
打赏
举报
回复
不要在线程之间传递原始接口指针
VCSQLVB
2005-05-08
打赏
举报
回复
得到的接口指针是否有效,检查CoCreateInstance函数的返回值是否为0.
smilemac
2005-05-08
打赏
举报
回复
应该不是参数问题,因为我后来又加了一个没有返回类型也没有传入参数的函数,结果还是不行,重新创建一个新的工程,加入一个方法,什么都不作,完全是VC生成的代码,结果也都一样。我是用"VC6.0/MFC ActiveX ControlWizard"生成的工程和代码。有问题吗?
c语言数组下标越界检查程序,数组下标越界
已结贴√问题点数:20回复次数:11 数组下标越界题目是一个有10个元素的数组,存有10个考生的分数,写5个
函数
,分别计算总分,最
高分
,最低分,平均分,分数升序排列。我写了5
函数
,问题出在最
高分
和最低分
函数
上。我用了两种方法,第一种是最
高分
和最低分都用冒泡法分别排序,分别
运行
的
时
候没有问题,但和其他3
函数
一起
运行
时
候就打印最小值不是63了,而且一个很大的数,我想是一个垃圾值(下标越界造成的);...
基础
各位兄弟,在SDK编程中如果实现窗口分割呢?请问怎么
得到
一个
函数
的执行
时
间,单位毫秒!如何调试asp组件呀。用vc++调试编制的组件怎样画一个箭头?
高分
请教如何限制程序
运行
的方法?求助:通过编程DirectX抓屏------>masterz:再麻烦你一下,谢谢熟悉RichEdit的朋友过来看一下,RichEdit的几个问题.如何对 I/O 端口进行操作?有了该问题就有了思考(100分 献礼!)如何
CSDN回帖得分大全(近两年)
√ vs2005
调用
dll的
时
候Initialize()
函数
返回错误 [VC/MFC 基础类] √ 为什么我创建登陆框之后,然后获取登陆框的数据
时
候
总是
出现非法操作! [VC/MFC 界面] √ CFileFind::FindFile 支持通配符么? [VC/MFC 基础类] √ vc++ 浮动窗口联动的实现 [VC/MFC 界面] ...
VC++中可能遇到的问题
T 如何用程序控制电源管理设置 Q 我们知道在电源选项 属性 里面可以设置 关闭监视器 1分钟之后,...,从不 关闭硬盘 1分钟之后,...,从不 待机
时
间 1分钟之后,...,从不请问这些设置我怎么用程序来实现 比如我现在要把关闭监视器设成 5分钟之后 请问各位大虾,应该怎么办?是不是要
调用
API?如果是,应该
调用
什么
函数
?另外补充说明:如果是调出控制面板让用户自
COM和数据库
如何手动把ACTIVEX控件天家到窗口中?
求教
:我一个activex控件要处理PreTranslateMessage,这个控件如果是插入在一个dialog上就正常,如果在一个view中用create创建控件的PreT如何将activex control中的类导出?请进!up有分!VC开发的带有dispatch的com服务器如何返回一个数组给vbscript,或者javascript实现OLE容器N
ATL
3,245
社区成员
48,537
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章