- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一个用 VBA 编写的宏,我想从 C++ 调用它:
Public Function MacroName() As DOMDocument
我是这样做的:
_variant_t ret = d_pApp->Run(_bstr_t("MacroName")).bstrVal;
现在,我想将此 ret 转换为 IXMLDOMDocumentPtr...
IXMLDOMDocumentPtr d_plDomDocument;
d_plDomDocument = static_cast<IXMLDOMDocumentPtr>(ret);
嗯,那行不通。错误说,类型错误。那么正确的转换方式是什么?
最佳答案
你的错误在这里:
_variant_t ret = d_pApp->Run(_bstr_t("MacroName"))>>>>>.bstrVal;<<<<
应该是:
_variant_t ret = d_pApp->Run(_bstr_t("MacroName"));
一旦你这样做了,你可能会发现你的 static_cast 有效——我记不起来了。否则,您可以使用以下方法。
首先 ret.ChangeType(VT_UNKNOWN)
然后如果成功则使用 d_plDomDocument = ret.punkVal;
。这将在幕后执行一个 QueryInterface
。
或一步完成:
d_plDomDocument = IXMLDOMDocumentPtr(ret);
如果变体无法转换为对象,这将返回一个 NULL
_com_ptr_t
。
关于c++ - 如何将 _variant_t 转换为 IXMLDOMDocumentPtr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20994459/
我的泄漏检查器告诉我此函数中有第二次机会异常。 BOOL CADORecordset::SetFieldValue(LPCTSTR lpFieldName, CString strValue) {
我在终止 _variant_t 类型时遇到麻烦,它触发断点并且程序崩溃, 引起问题的部分代码如下: double ConnectToHYSYS::GetExergy() { //In this
我正在尝试将 Visual-C++ 代码转换为 Qt。 有没有等价于_variant_t的东西? 代码是: // // Get safarray containing all vectors fro
有一个用 VBA 编写的宏,我想从 C++ 调用它: Public Function MacroName() As DOMDocument 我是这样做的: _variant_t ret = d_pAp
我正在通过 ADO 从 excel 单元格中读取数据 while (!pRec->adoEOF) { _variant_t a = pRec->Fields->GetItem(long(0))
这是一个示例片段: _variant_t var; var.vt = VT_UNKNOWN; var.punkVal = unknownInterfaceSmartPointer; unknownIn
我正在尝试使用 ADO 库与 MDB 文件进行通信。此刻我可以阅读所有专栏。我的代码依赖于其他需要 wstring 作为参数的库。以下代码返回 _variant_t 数据类型,但是函数预期接收的参数是
在此示例中,m_Amount 是 CString。 stringToNumber 函数将其成功转换为 LONGLONG 数字。但是当我想将它分配给一个变体时,我得到了这个错误: error C2440
这是我想要加速的代码。它从 ADO 记录集中获取值并将其转换为 char*。但这很慢。我可以跳过 _bstr_t 的创建吗? _variant_t var = pRs-
我相当确定我可以安全地做: void funcA(VARIANT &V,_variant_t &vt) { vt = V; } 但反过来呢: void funcB(VARIANT &V,_va
我需要在 std::vector 之间进行转换和 _variant_t将数据写入/发送到某些文件(数据库、Excel 等)时避免循环 你能告诉我如何进行吗? 我想得到一个 std::vector并以某
在我的 MFC (VC2010 SP1) 项目中,我广泛使用第三方库在数据库中写入一些数据。这个库很旧(我发现它是为 VS2005 编译的)并使用 _variant_t 来处理数据。 无论如何,在特定
我正在尝试传递一个结构 e。例如: struct SVec3 { public: float X; float Y; float Z; }; 进入 _variant_t,将其存
我的任务是遍历 word xml 模式中的字段并替换图片。这些图片是转换为图像的excel图表。遍历架构中的字段也没有问题,删除找到的图像也没有问题。我的问题是在原始范围内重新插入内联形状。我将找到的
我正在使用 ATL(VS2008,所以 ATL9 IIRC)来创建 COM 对象,并且一直在使用 CComVariant 类(在 atlcomcli.h 中定义)来管理 VARIANT 类型。但是,还
我正在研究几个使用 ADO 访问 SQL Server 数据库的 Visual Studio 2015 C++ 项目类型。简单示例对表执行选择、读入行、更新每一行并更新表。 MFC 版本工作正常。 W
我是一名优秀的程序员,十分优秀!