社区
ATL
帖子详情
ATL COM事件问题:在线程中调用虚函数,再在虚函数中激发事件的问题??
tigerfox
2004-08-18 04:51:23
class CA
{
..
..
CB b;
CB c;
void fun();
}
CB b
{
virtural int fun();
CA *pa;
}
int CB::fun()
{
pa->fuc2();
}
void CA::fun()
{
Fire_XXX();
}
Fire_XXX事件已调用,但前端没有事件激活???
...全文
197
23
打赏
收藏
ATL COM事件问题:在线程中调用虚函数,再在虚函数中激发事件的问题??
class CA { .. .. CB b; CB c; void fun(); } CB b { virtural int fun(); CA *pa; } int CB::fun() { pa->fuc2(); } void CA::fun() { Fire_XXX(); } Fire_XXX事件已调用,但前端没有事件激活???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tigerfox
2004-08-21
打赏
举报
回复
我已经解决了。
to jiangsheng(蒋晟.MSMVP2004Jan)
你要是早来点多好啊。
sohou
2004-08-19
打赏
举报
回复
我看了你的代码我没发现你的代码有什么问题,但是我怀疑你的script写的那个test有问题。我对script不熟
蒋晟
2004-08-19
打赏
举报
回复
MFC/ATL列集/散列的代码没有考虑跨线程调用。你需要自己实现列集/散列,例如发送自定义消息消息或者自行修改列集/散列代码。
参见http://www.mvps.org/vcfaq/com/1.htm
tigerfox
2004-08-19
打赏
举报
回复
接收到了。我在方法内激活事件就没问题。但到了线程内就不行了。
wangweixing2000
2004-08-19
打赏
举报
回复
看来是你的客户端没有接收这个事件!
yongdu
2004-08-19
打赏
举报
回复
线程内当然不行。因为你接口跨了套间。跨套间调用要列集/散列接口。即使是事件接口。
最简单的方法(也是最流行的),是你在将你的Fire,改为postthreadmessage给主线程消息, 再由主线程fire(主线程建立的事件连接)
sohou
2004-08-18
打赏
举报
回复
我没收到你的邮件
tigerfox
2004-08-18
打赏
举报
回复
我对COM不是很熟啊。
sohou
2004-08-18
打赏
举报
回复
如果是VC的话你自己hook它
sohou
2004-08-18
打赏
举报
回复
你客户端是用什么语言写的啊!
tigerfox
2004-08-18
打赏
举报
回复
TO: sohou(大秦之刃)
帮我看看。
tigerfox
2004-08-18
打赏
举报
回复
还是不行呀。
sohou
2004-08-18
打赏
举报
回复
只实现它的Idispatch接口
sohou
2004-08-18
打赏
举报
回复
不要将源接口实现为双接口,也就是那个event接口,这样在VB 和SCRIPT语言中很容易出错
sohou
2004-08-18
打赏
举报
回复
这和你的函数没有关系,你的连接点设置正确了吗?Events接口设对了吗/你先自己检查一下。用VC 6的ATL向导生成的程序有些有问题,你自己好好检查吧,实在不行发给我:sohou_studio@163.com
tigerfox
2004-08-18
打赏
举报
回复
没人知道?
sohou
2004-08-18
打赏
举报
回复
你映射了相应的事件了吗?
tigerfox
2004-08-18
打赏
举报
回复
我希望解决问题啊。谁知道啊
rwdx
2004-08-18
打赏
举报
回复
gz
xiaoleixyz
2004-08-18
打赏
举报
回复
mark,想想
加载更多回复(3)
使用WTL进行Windows桌面应用开发-第一部
基于Windows平台的
ATL
/WTL桌面应用程序开发. 使用C/C++作为开发语言, 开发Windows本地桌面程序. WTL界面库是MFC的替代选择, 是Win32界面编程的薄封装,可以说学会WTL开发即学会了Win32界面开发。 适合
中
小型公司开发...
ATL
Internals: Working with
ATL
8 (2nd Edition) DOWNLOAD
ATL
Internals: Working with
ATL
8 (2nd Edition) Four leading Windows programming experts systematically reveal
ATL
’s inner workings, explaining not just how
ATL
works, but why it works the way it
ATL
建立ActiveX控件样例(入门级)
代码下载http://download.csdn.net/source/1458175 在VC
中
进行控制编程可以用MFC的OCX形式,也可以用
ATL
的活动模板库。MFC所做出来的控件比较大,
ATL
相对小很较多,这时我们如果是在网页上使用,
ATL
的优势就会突显出来。
ATL
编写控件比MFC要难一些,所谓的难就是
ATL
中
的编程向导没有MFC
中
的那么好用。有好多的东东要自己
用
ATL
和MFC来创建ActiveX控件
摘要:目前MFC和
ATL
代表了两种框架,分别面向不同类型的基于Windows的开发。MFC代表了创建独立的Windows应用的一种简单、一致的方法;
ATL
提供了一种框架来实现创建
COM
客户机和服务器所必须的样板文件代码。这两种框架在它们对于开发ActiveX的用途上会合了。我们将看看这两种框架是如何适用于创建ActiveX控件的——突出其优缺点,亲自经历创建一个控件的过程——以便你能够决定何时使用
ATL
建立ActiveX控件(一)
代码下载http://download.csdn.net/source/1458175 在VC
中
进行控制编程可以用MFC的OCX形式,也可以用
ATL
的活动模板库。MFC所做出来的控件比较大,
ATL
相对小很较多,这时我们如果是在网页上使用,
ATL
的优势就会突显出来。
ATL
编写控件比MFC要难一些,所谓的难就是
ATL
中
的编程向导没有MFC
中
的那么好用。有好多的东东要自己手
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章