问题标签 [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.
c++ - 我需要在这段代码中调用 SafeArrayUnLock 吗?
我是团队的新成员,我阅读了下面的代码。我想知道我需要在 dctor 中调用 SafeArrayUnLock 吗?我试图在没有明确线索的情况下在网上搜索。非常感谢您的帮助!
代码:
c++ - 将 std::vector 转换为 CComSafeArray 的任何快速方法
有什么快速的方法可以将 std::vector 转换为 CComSafeArray。我目前正在编写一段代码,它基本上将 5 或 6 个向量转换为 CComSafeArray(不是在迭代中)。其中,一大块代码(释放旧空间,创建新的安全数组,复制)出现了。我真的希望我可以轻松地转换它。
由于我们可以编写一种方法来进行这种转换,我实际上正在寻找位于图书馆等角落的有用功能。非常感谢您的帮助!
c++ - 如何根据数组参数项类型重载 IDL 中的函数?
假设我在 IDL 中定义了这个函数,如下所示:
我想为 IDL 中定义的函数创建一个重载,如下所示:
但是在实现该函数的类的头文件中,原来的声明如下:
因此数组中项目的类型不再是签名的一部分。因为我试图根据函数签名的这种差异创建一个重载函数..我该如何继续?
c# - C# 函数不更新 SAFEARRAY
我有一个带有以下签名的 C# 函数:
我从 C++ 中调用它。编译器告诉我第二个参数必须有SAFEARRAY*
类型。所以我这样称呼它:
但是 safeArray 没有更新,它仍然包含 zores。但我Get1251Bytes
在 C# 单元测试中测试了函数。它工作正常并更新result
数组。我究竟做错了什么?
com - 如何通过 ColdFusion 9 从 COM 对象中检索安全数组(结构)
我试图引用定义为的 COM 对象方法:
我在 edmFile 变量中有对 IEdmFile7 对象的引用。
当我<cfdump var="#edmFile#">
的方法是可见的:
当我尝试调用该方法时(尝试传递许多不同的参数类型):
它与AutomationException: Member not found
. 我只能假设它没有正确识别或投射参数。如何正确地将安全数组(结构)的引用传递给方法?
(根据评论编辑)
我尝试过的一些示例:
结果:
评论中的另一个尝试:
结果:
c# - How to implement a SAFEARRAY(long) parameter?
I currently have a C# method in an interface that has the following parameters when viewed in ITypeLib
The above method is in an interface and is defined in C#.After generating a type library I am attempting to create an implementation of that interface in C++. However I cannot figure out the type required for
I am currently trying something like this
Any suggestions on what the equivalent of [in] SAFEARRAY(long) bid
should be for the class implementing the C# interface.
c++ - 这是 CComSafeArray 的使用不好吗?
我有一个 COM 功能:
并遵循遗留代码:
我怀疑手动管理锁是否好。m_psa
当返回为NULL
by时,该代码会崩溃GetData
吗?
下面的代码怎么样?那个更好吗?
编辑:
我测试了上面的两个代码。有一个区别。如果GetData
返回NULL
,则直接Attach
不NULL
检查将调用异常。第一个版本将返回一个E_INVALIDARG
. 我的问题仍然存在,您是否更喜欢更高版本,因为它使用 SafeArray 对象来维护计数,而不是混合它?
EDIT2:
如果出于某种原因我选择了第一个版本,可以忽略E_INVALIDARG
返回值吗?当某些代码稍后使用它时,这会有什么副作用saDataArray
吗?
c++ - C++ COM [in, out] 安全数组
我需要在 C++ 中调用一个 COM 函数,该函数返回对SAFEARRAY(BSTR)
.
根据这个文件,它应该是:
但列表元素仍为10.0
.
我错过了什么吗?
编辑
我使用了 Oleview.exe,实际上,该函数如下所示void Frequencies(VARIANT* FrequencyArray);
:
但是 ActiveX 服务器的文档说:Use a safearray of strings (VT_BSTR) or reals (VT_R8 for double or VT_R4 for float)
.
c++ - Qt 中 _variant_t 的等价物
我正在尝试将 Visual-C++ 代码转换为 Qt。
有没有等价物_variant_t
?
代码是:
如何用 Qt 做到这一点?
com - 合并两个 SAFEARRAY - SafeArrayPutElement 内存访问冲突
在执行以下代码时,我遇到了一些内存访问冲突:
我收到的消息是:0x774115de 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000004。
任何帮助都会非常有帮助!
提前致谢
问候, 法比安