4.atl中,我想在工作线程中触发事件,怎么办?
这里介绍最简单的办法:
cxxxatl为atl的类
cwork为工作类
static int cwork::workthread(void* p)为工作线程函数
首先让cxxxatl和cwork相互引用,即在cwork类声名前声名class cxxxatl;
给cwork添加成员指针cxxxatl* patl;
在cxxxatl类中加入工作类的实例:m_work;
在cxxxatl构造函数中加入m_work.patl=this;
cwork调用workthread时传入this指针;
在workthread中即可通过((cwork*)p)->patl.fire_xxx()
触发事件
5.为什么我定义了bool类型的接口参数在vb中却不能按照true/false选择值?
因为bool实际是int 类型的定义,应该使用variant_bool类型
6.为什么debug方式编译正确,但release方式无法正确编译,提示类似:
creating library releasemindependency/agent.lib and object releasemindependency/agent.exp
libcmt.lib(crt0.obj) : error lnk2001: unresolved external symbol _main
releasemindependency/agent.dll : fatal error lnk1120: 1 unresolved externals
error executing link.exe.
打开工程的设置,在c/c++页中proprocess definitions中去掉_atl_min_crt即可