ocx 出事了

lgstudyvc 2011-09-15 09:55:20

win7 vc6

ocx中写了8个接口,后来删除了6和7两个接口函数,但是在Test中用接口8时却提示“找不到成员”

如何解决啊?从新写个Test来测试,调用接口8时仍提示“找不到成员”
...全文
99 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgstudyvc 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hongkun18 的回复:]
重新注册以后应该是可以的。我经常修改com代码。
至于你遇到的问题,你可以试着新建一个小的atl工程,按照你的操作看是不是也是一样的现象。
如果是,你可以修改idl,该8;
如果不是,则可能是其它的问题了,包括你的测试程序。
[/Quote]
都改了,不行

新的测试程序我也做了,不行

有点奇怪
hongkun18 2011-09-16
  • 打赏
  • 举报
回复
重新注册以后应该是可以的。我经常修改com代码。
至于你遇到的问题,你可以试着新建一个小的atl工程,按照你的操作看是不是也是一样的现象。
如果是,你可以修改idl,该8;
如果不是,则可能是其它的问题了,包括你的测试程序。
hbs_biscuit 2011-09-16
  • 打赏
  • 举报
回复
如果是 使用 atl 找一下 调用者类中的 BEGIN_SINK_MAP,那个里面也有 DISPID 号,你要和 IDL 的对应上。

如果是使用MFC 也要看一下 调用者类里面对应的 DISPID 对应上没有

lgstudyvc 2011-09-15
  • 打赏
  • 举报
回复
将涉及OCX的CPP、H文件删了,用类向导重新建OCX的类
[/Quote]

都删除了,工程目录下的也删除了,不行啊,郁闷、憋屈死了。。。。。。
明寿 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lgstudyvc 的回复:]
引用 2 楼 ouyh12345 的回复:
重新注册,更新wrapper class


更新wrapper class
什么意思啊?wrapper class是个啥?
[/Quote]

将涉及OCX的CPP、H文件删了,用类向导重新建OCX的类
lgstudyvc 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ouyh12345 的回复:]
重新注册,更新wrapper class
[/Quote]

更新wrapper class
什么意思啊?wrapper class是个啥?
lgstudyvc 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ouyh12345 的回复:]
重新注册,更新wrapper class
[/Quote]

从新注册了,不行啊
ouyh12345 2011-09-15
  • 打赏
  • 举报
回复
重新注册,更新wrapper class
罗平 2011-09-15
  • 打赏
  • 举报
回复
恢复那个接口函数嘛,
lgstudyvc 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ljmanage 的回复:]
将odl里的ID改下
[/Quote]

old里的哪个id?
//[id(6)] long TestSendStr(BSTR pstr);
//[id(7)] long TestSendBstr(BSTR* bstring);
[id(8)] long SaveMyInfo(BSTR* bstring);
屏蔽了上两句(因为我删除了那两个函数),我把id(8)改为id(6)仍不行!同时,还有一个地方的id也改了
李_军 2011-09-15
  • 打赏
  • 举报
回复
将odl里的ID改下

3,245

社区成员

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

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