atl相关内容

将 BSTR 转换为 LPCWSTR

这是我的需求 BSTR l_strArgs;LPCWSTR ……//----//---OutputDebugStringW(sth); 如何将 BSTR 转换为 LPCWSTR? 是否有任何仅标头的库可以将任何字符串类型(microsoft)转换为 LPCWSTR 类型? 解决方案 只需覆盖 NULL 场景即可 BSTR l_strArgs;LPCWSTR sth = strA ..
发布时间:2021-11-30 14:14:08 C/C++开发

使用 ATL CImage 从内存缓冲区加载图像

如何使用 CImage 从 BYTE* 数组加载图像?到目前为止,我的解决方法是简单地创建一个临时文件,但有时此操作非常昂贵......可能有一些库,但我不想链接到其他库,我所需要的只是获取图像大小并有效地显示到屏幕上,而 CImage 就是我所需要的...... p->pbData 是一个 BYTE* 数组,p->dwDataLen 是一个保存数组大小的 DWORD 我的代码: A ..
发布时间:2021-11-30 14:13:59 C/C++开发

为什么从 Visual Studio 2008 中删除了在新 ATL 项目中使用属性的选项?

这是 MSDN 评论中的文字:“根据 ATL Internals (2ed) 一书,不推荐使用属性,不应在新的 ATL 项目中使用." 但是为什么?! 解决方案 在 ATL 中,这些属性是一个编译器技巧.它们不像 C# 中的属性那样是平台的核心部分.与宏相比,它们也更易于调试,并且转储生成的属性代码的方法很麻烦. 我怀疑另一个问题可能是 C++ 编译器兼容性和标准遵守.属性并没 ..
发布时间:2021-11-30 14:13:51 其他开发

如何调试 COM C++ 进程外服务器?(客户:Excel vba)

我不知道如何使用 Visual Studio 2015 调试 COM ATL C++ 进程外 exe 服务器. 对于COM ATL DLL没有问题,当我调用COM dll时会自动触发断点.但是,当我尝试调试 EXE 服务器时,调试器没有中断.实际上exe服务器只是按需加载,客户端启动时不会加载exe服务器的调试符号. 我的调用 COM 服务器的客户端是 Excel VBA(我通过工具/ ..
发布时间:2021-11-30 14:13:44 其他开发

“课程未注册"哪一堂课?

考虑这个代码: 尝试{ISomeObject pObj(__uuidof(SomeClass));ISomeObject pObj2(__uuidof(SomeOtherClass));} 抓住(_com_error& e){//记录失败的内容} 即我有一段代码可以实例化我的对象.有时(错误安装)它会失败,因为某些类没有正确注册.(我没有特别的问题,这里只是一般性的讨论.) 有什么方法可 ..
发布时间:2021-11-30 14:13:34 C/C++开发

如何使 WebBrowser 控件具有透明背景?

我尝试使我的 WebBrowser 控件透明,因此如果加载到其中的 HTML 没有背景,则底层窗口应该是可见的.尝试不同的方法,我已经头破血流了. Microsoft Sidebar 应用程序中有透明背景.在小工具的 HTML 中标签可以使用,但是这个标签在普通的浏览器控件中是不可用的. 我也研究过 DirectX Transform 过滤器,它可以应用于 IE 中的 HTML 元素, ..
发布时间:2021-11-30 14:13:23 C/C++开发

SQL Server CE 3.5 更新行错误 DB_E_ERRORSOCCURRED 列错误是 DBSTATUS_E_SCHEMAVIOLATION

我正在研究将一个小型且简单的 SQL Server 数据库迁移到 SQL Server CE,目前我正在使用一个小型原型来研究 SQL Server CE 的基本操作,并考虑到以下操作:(1) 以编程方式创建一个表,(2) 插入新记录,(3) 读取现有记录,以及 (4) 更新现有记录. 原型在使用访问器和访问器结构的绑定成员时更新现有记录有问题.select 语句可以正确地返回行和数据.我可 ..
发布时间:2021-11-30 14:13:15 数据库

_ATL_ALLOW_UNSIGNED_CHAR 什么时候起作用?

我正在将一个使用 ATL/MFC 的 Visual C++ 项目从 VS2010 迁移到 VS2013.项目使用 /J 编译(“假设 char 是无符号的"),并且有太多代码可能依赖也可能不依赖于这个事实来轻松删除编译器标志. 在 VS2013 下,/J 导致 atldef.h 中的编译器错误:ATL 不支持使用/J 或 _CHAR_UNSIGNED 标志启用的编译.这可以通过定义 _ATL ..
发布时间:2021-11-30 14:13:03 C/C++开发

_variant_t、COleVariant、CComVariant 和 VARIANT 之间的用法差异以及使用 SAFEARRAY 变体

我正在研究几种使用 ADO 访问 SQL Server 数据库的 Visual Studio 2015 C++ 项目类型.简单示例对表执行选择、读入行、更新每一行并更新表. MFC 版本运行良好.Windows 控制台版本是我在更新记录集中的行时遇到问题的地方.记录集的 update() 方法抛出 COM 异常,错误文本为: L“在与请求的名称或序号相对应的集合中找不到项目." HRES ..
发布时间:2021-11-30 14:12:52 C/C++开发

我们应该将 COM 中的 BSTR 类型视为值还是引用?

从ATL Internals一书中,我知道BSTR与OLECHAR*不同,BSTR有CComBSTR和CString. 根据 MSDN 分配和释放内存对于 BSTR,我知道调用者/被调用者的内存管理责任. 从 MSDN 中获取这一行, HRESULT CMyWebBrowser::put_StatusText(BSTR bstr) 我仍然不知道如何在我的实现中正确处理 bs ..
发布时间:2021-11-30 14:12:42 C/C++开发

ATL/WTL 是否仍然需要使用全局 _Module 变量?

我刚刚开始一个新的 ATL/WTL 项目,我想知道是否仍然需要全局 _Module 变量? 几年前,当我开始使用 WTL 时,您需要(至少对于 ATL 3.0)定义一个全局变量,例如: CAppModule _Module; 为了让 ATL 正常工作.但最近我在某处读到这可能不再需要(但向导生成的代码仍然使用它).此外,我还搜索了 Visual C++ 包含目录,它只在少数几个地方找到了 ..
发布时间:2021-11-30 14:12:32 C/C++开发

如何将 MFC ActiveX 控件添加到现有的 ActiveX 项目

在 Visual Studio 2008 中,我可以创建一个 MFC activex 项目,它提供了一个向导来创建单个 activex 控件.我现在想在这个项目中创建新的控件. 我找不到任何方法来做到这一点. 解决方案 我刚刚发现生成ActiveX控件代码的模板和脚本位于: Microsoft Visual Studio 9.0\VC\VCWizards\AppWiz\MFC\ ..
发布时间:2021-11-30 14:12:16 C/C++开发

从另一个 HBITMAP 复制位图

我正在尝试编写一个类来在我的程序中包装位图功能. 一个有用的功能是从另一个位图句柄复制位图.我有点卡住了: void operator=( MyBitmapType & bmp ){HDC dcMem;HDC 直流源;if( m_hBitmap != bmp.Handle() ){如果( m_hBitmap )this->DisposeOf();//从源位图复制位图头GetObject( ..
发布时间:2021-11-30 14:12:08 C/C++开发

ATL COM 类注册 .rgs 文件默认值

我正在创建一个 COM 服务器可执行文件,但遇到了类注册问题.当我创建我的类对象时,自动生成的 .rgs 文件如下所示: HKCR{不删除 CLSID{ForceRemove {4C6DAD45-64B4-4C55-81C6-4CE125226421} = s '测试类'{强制移除可编程LocalServer32 = s '%MODULE%'{val ServerExecutable = s ' ..
发布时间:2021-11-30 14:12:01 C/C++开发

LoadLibrary project.dll 失败.指定的模块无法找到

当我尝试使用 32 位版本注册我的 C++/ATL 项目时 regsvr32 project.dll 我收到此错误: LoadLibrary("project.dll") 失败 - 找不到指定的模块 project.dll 是我在 Visual Studio 10 上使用 ATL 构建的 dll. 64 位版本注册正常. 我错过了什么? 解决方案 我观察到了这个完全相同 ..
发布时间:2021-11-30 14:11:51 其他开发

仅使用 Windows SDK 7.1 编译 ATL 项目

我有一个需要编译的项目.它是在我们只安装了 Windows SDK 7.1 的构建服务器上编译的.我不想在这台机器上安装实际的 Visual Studio,但收到错误“找不到 atlstr.h"我刚刚读到的文件是 ATL 的一部分,它是 Visual Studio 的一部分. 有什么方法可以让我在不安装 Visual Studio 的构建服务器上编译它吗? 解决方案 ATL 现在作为 ..
发布时间:2021-11-30 14:11:40 C/C++开发

在 DHTML/AJAX 页面的情况下,如何使用浏览器帮助程序对象 (BHO) 获取完整的 HTML 正文?

我正在编写一个 BHO,它分析从 'DWebBrowserEvents2' 的 'onDocumentComplete' 事件中获取的 HTML.目前它工作正常,除非我有一个 DHTML/AJAX 页面,其中 HTML 句柄交付过早. 作为示例,我尝试在 'http://www.google.com' 上使用它.从 'onDocumentComplete' 事件中,我可以获得大部分页面,但在 ..
发布时间:2021-11-30 14:11:30 C/C++开发

如何抑制“此应用程序中仍有活动的 COM 对象"关闭应用程序时出错?

我编写了一些 ATL COM 对象,用于在我的 C++ Builder 应用程序中进行拖放操作. 由于我无法控制的原因,当用户尝试关闭我的应用程序时,它仍然具有活动的 COM 对象.这是因为使用我的对象的其他 COM 客户端似乎缓存了我的 COM 对象并且不释放它们 - 因此,当用户单击“X"关闭我的程序时,我的 COM 对象的引用计数仍然大于零.这会导致用户收到如下不友好的消息: 我 ..
发布时间:2021-11-30 14:11:09 C/C++开发

我究竟如何配置 DCOM 以将我的 DLL 加载到单独的进程中?

我正在尝试将现有的本机 C++ ATL 进程内 COM 服务器强制转换为单独的进程.我希望DCOM可以在不改变COM服务器的情况下为我做到这一点. 我从通常的注册表设置开始 - 我有一个 HKCR\CLSID{classId} 条目和一个 InProcServer32 键,用于指定 .dll 文件的路径. 我生成了一个应用程序 ID (GUID) 并随处添加了它.具体来说,我在 HKC ..
发布时间:2021-11-30 14:11:00 其他开发