我正在开发OPC(OLE process Control)客户端程序,使用异步回调方法从KepServer.But获取数据--我遇到了以下问题:
CComObject<COPCDataCallback>* pCOPCDataCallback; // Pointer to Callback Object
// Create Instance of Callback Object using an ATL template
CComObject<COPCDataCallback>::CreateInstance(&pCOPCDataCallback);然后它停在这里:
_pAtlModule->Lock();这是atlcom.h中的
对如何解决这个问题有什么想法吗?
发布于 2015-10-13 10:49:26
当您使用类似于ATL类的CComObject时,假设您有一个ATL项目,其中定义了"ATL模块“类,例如基于CAtlExeModuleT的EXE应用程序。
由于没有定义模块类/实例,因此不存在全局内部_pAtlModule变量的初始化问题。您需要添加模块类。
添加ATL支持的方法之一是使用IDE,通常如果您的现有项目是基于MFC的:
另一种方法是添加CAppModule实例,如果您的项目使用WTL:
然后,第三种方法是使用Visual向导创建一个匹配类型(EXE或DLL)的新的干净ATL项目,并检查CAtlDllModuleT或CAtlExeModuleT类周围的代码,然后在现有项目中复制它。
https://stackoverflow.com/questions/33099122
复制相似问题