问题标签 [safearray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
com - 正确清理 CComSafeArray
鉴于:
我希望 CComSafeArray 的 dtor 会在每个包含的成员上调用 ::VariantClear 并且文档似乎表明:
在某些情况下,最好在不调用 VariantClear 的情况下清除代码中的变体。例如,您可以将 VT_I4 变体的类型更改为另一种类型,而无需调用此函数。BSTR 的 Safearrays 将在每个元素上调用 SysFreeString,而不是 VariantClear。但是,如果收到 VT_type 但无法处理,则必须调用 VariantClear。变体的安全数组也将对每个成员调用 VariantClear。
(来源: http: //msdn.microsoft.com/en-us/library/windows/desktop/ms221165 (v=vs.85).aspx )
但是我在 atlsafe.h 的代码中没有看到这样的事情发生。
我只是在错误的地方寻找,还是这只是作为 ::SafeArrayDestroy() 的副作用而发生的——这是唯一通过 CComSafeArray dtor 发生的事情。
c++ - Mac OSX的c ++中的变体类型结构(oaidl.h)?
我正在尝试移植我在 Windows 中开发的 c++ dll,这些 dll 广泛使用了 Variant (ole/com) 类型的结构(请参阅https://msdn.microsoft.com/en-us/library/windows/desktop/ms221627%28v =vs.85%29.aspx)。该类型在visual studio的oaidl.h文件中定义,在windows中用“windows.h”导入。
有没有现有的方法可以在 xcode 中的 c++ 中使用这种类型?显然包含 windows.h 没有意义,也不起作用。你知道在 OSX 上使用这种类型的库吗?请注意,该变体使用我在 mac 上也找不到的 safearray 结构。
c++ - SafeArrayAccessData 是否曾经返回与 pvData 不同的指针?
我知道 SafeArrayAccessData 也进行锁定/解锁,但没关系,我只想知道它是否返回一个不同于pvData
.
例如,这段代码永远不会触发断言(我可以在测试中看到):
有谁知道SafeArrayAccessData
会产生不等于的指针的情况pvData
?
string - Delphi OleVariant 到 COM 库中的字符串数组
我有 Delphi 2006 客户端应用程序。这个客户端从 COM 服务器接收一个 Olevariant 类型的数据。功能是:
此函数返回一个字符串数组。我无法从 delphi 读取 OleVariant 类型的数据。
在 Excel VBA 中,它的工作原理:
我试图将 OleVariant 转换为 Psafearray ...
但我在这一行收到了一个例外:
调试器故障通知
项目...出现错误消息:'在 0x751de18c 处的访问冲突:读取地址 0xabababab'。进程停止器。使用 Step 或 Run 继续
任何意见和建议将不胜感激。
c++ - 如何将字符串数组转换为 SAFEARRAY 或 VARIANT 或 COleVariant?
我正在研究 OLE(COM),所以我想将字符串数组转换为 SAFEARRAY 或 CComSafeArray 或 COleSafeArray 或 VARIANT 或 COleVariant。
- CString[100] -> SAFEARRAY
- CString[100] -> CComSafeArray
- CString[100] -> COleSafeArray
- CString[100] -> 变体
- CString[100] -> COleVariant
将字符串数组转换为 SAFEARRAY 或 CComSafeArray 或 COleSafeArray 或 VARIANT 或 COleVariant 发送 OLEMethod 以执行 COM。
请帮我
c++ - 为什么 SafeArrayUnaccessData 会抛出调试断言失败
下面是我的代码
这里 SafeArrayUnaccessData(sa) 会抛出 debug assertion failure 。
当我注释掉 SafeArrayUnaccessData(sa) 程序工作正常
python - 在 Python 中创建字符串的 SAFEARRAY
我正在尝试调用一个 COM 方法,该方法需要将 SafeArray 的字符串作为引用传递,然后用方法结果填充该方法。这是 VBA 中的代码,可以完美运行:
现在,我正在尝试使用 win32com 模块对 Python 3.4 执行相同的操作。但是,我一直在尝试创建具有正确类型的第二个参数,根据combrowse.py 应该是“Pointer SafeArray String”。
这是我的第一次尝试:
我也尝试将该变量构造为
但它也没有用。错误消息如下所示:
c# - WCF Com Interop GetRecordInfoFromGuids 返回旧格式或无效类型库
我在 C# 中定义的 WCF 服务中有一个结构为
我正在尝试从 MFC 应用程序创建此结构的 SafeArray。当像这样调用 GetRecordInfoFromGuids
我得到一个返回值
这有什么问题?
qt - 如何在 Qt ActiveX 中使用 SAFEARRAY **
SAFEARRAY **
在 Qt ActiveX 中如何使用?SAFEARRAY **
Qt中的类型是什么?