c++ - 如何将字符串数组转换为 SAFEARRAY 或 VARIANT 或 COleVariant?

标签 c++ com ole variant safearray

我正在处理 OLE(COM),因此我想将字符串数组转换为 SAFEARRAY 或 CComSafeArray 或 COleSafeArray 或 VARIANT 或 COleVariant。

  1. CString[100] -> 安全数组
  2. CString[100] -> CComSafeArray
  3. CString[100] -> COleSafeArray
  4. CString[100] -> 变体
  5. CString[100] -> COleVariant

将字符串数组转换为 SAFEARRAY 或 CComSafeArray 或 COleSafeArray 或 VARIANT 或 COleVariant 发送 OLEMethod 以执行 COM。

请帮帮我

最佳答案

CString strings[100];

CComSafeArray<BSTR> myArray(100);
for (int i = 0; i < 100; ++i) {
  myArray.SetAt(i, strings[i].AllocSysString(), /*copy=*/ false);
}

关于c++ - 如何将字符串数组转换为 SAFEARRAY 或 VARIANT 或 COleVariant?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30769884/

相关文章:

c# - list 文件的 dependentAssembly/assemblyIdentity 元素中的版本号

excel - 如何从 vbaProject.bin 提取的十六进制流读取 vba 代码?

c++ - 向现有 TCP 和 UDP 代码添加 SSL 支持?

c++ - WinDivert 问题

c++ - boost 正则表达式链接 : Can't find library

c# - 如何让媒体播放器使用 C# *播放*?

c++ - 将 C 全局变量与 C++ 代码链接时出现问题

c++ - 在哪里可以找到 MS Office 界面以在 C++ 和 COM 中进行一些自动化

excel - SAP BC-IC Excel 接口(interface)发送 format_string

c++ - 处理多个文件时,我必须在 COleDropTarget::OnDrop() 中返回哪个值?