我在独立的EXE中创建COM对象,并在它的一个方法中创建了一个线程,然后在线程中调用该对象的方法,试图发送一个事件给客户,但不起作用,好像什么也没执行。代码例子如下:static void _cdecl MyThread(void *pThis)
{
((CMyServer*)pThis)->Fire_EventXyz(); // fail, do nothing
}STDMETHODIMP CMyServer::MethodFoo1(void)
{
_beginthread(MyThread, 0x100000, this);
}STDMETHODIMP CMyServer::MethodFoo2(void)
{
Fire_EventXyz(); // OK
}
{
((CMyServer*)pThis)->Fire_EventXyz(); // fail, do nothing
}STDMETHODIMP CMyServer::MethodFoo1(void)
{
_beginthread(MyThread, 0x100000, this);
}STDMETHODIMP CMyServer::MethodFoo2(void)
{
Fire_EventXyz(); // OK
}
解决方案 »
- 能推荐一款vs2008下MFC使用的能加载的界面换肤组件吗?
- 请问我的这个开发思路应该选用那哪一种软件来做二次开发?用VC++6.0合适吗
- mscomm控件在vs2003中出错?
- loadlibrary函数调用出错,在线等!
- 给定五点画曲线(数学高手请进)
- 非技术问题,怎么将一个.EX_ 文件转换成 .exe 文件呢?
- detours测试程序的一些问题
- 定义了一个结构体CArray其中又嵌套结构体CArray,在对外层CArray进行Add时出错
- 如何给回答我问题的人加分?
- 参数自动显示问题
- WINDOWS的那些COPYFILE什么的AVI,是放在哪个资源里的。
- vc的函数的一个参数是char*类型的,请问怎样才能从vb中传过去?
static void _cdecl MyThread(void *pThis)
{
CoInitialize(0);
((CMyServer*)pThis)->Fire_EventXyz();
CoUninitialize();
}
调用com的函数是否只能同步调用,能否异步调用?