safearray

    2热度

    1回答

    我有一个.NET程序集。它恰好是用C++/CLI编写的。我通过COM暴露了一些对象。一切工作正常,但我不能为我的生活弄清楚如何从方法返回我自己的对象的数组。每次我都会在运行时遇到类型不匹配错误。我可以返回一个整数或字符串数​​组。 这里是我的主类 [Guid("7E7E69DD-blahblah")] [ClassInterface(ClassInterfaceType::None)] [Co

    11热度

    3回答

    我有一个COM函数应该返回一个SafeArray通过LPSAFEARRAY*出参数。 该函数使用ATL的CComSafeArray模板类创建SafeArray。 我天真的执行情况,以便从本地变量移动所有权的输出参数使用CComSafeArray<T>::Detach(): void foo(LPSAFEARRAY* psa) { CComSafeArray<VARIANT> ret;

    10热度

    3回答

    我的C#方法从C++调用 本来我的C#方法接受类型的参数双重[],但是从C调用时++变成SAFEARRAY 在C++中,我需要从一个双精度数组中取数据,并填充一个SAFEARRAY。我还没有找到任何示例代码来做到这一点。 任何帮助表示赞赏

    3热度

    2回答

    对于C++的世界来说,这是一个相对较新的东西。我希望从多维SAFEARRAY访问数据。但是,当我尝试检索该值时,出现错误0xC0000005:访问冲突读取位置0x40e3e300。下面附上的是我的代码,标记的线是它出错的地方。希望有人能够阐明如何解决这个问题。 SAFEARRAY *ArrayCrosstabInfo = GetMainFrame().m_epsComHelper->GetCros

    6热度

    2回答

    我试图使用以下方法COM组件: HRESULT _stdcall Run( [in] SAFEARRAY(BSTR) paramNames, [in] SAFEARRAY(VARIANT *) paramValues ); 我怎么能在C/C++的paramValues阵列创建?

    2热度

    2回答

    阵列我有一个COM对象,它需要一个0界定两个维度SAFEARRAY。我需要将这个数组传递给我的C++ COM对象。我可以毫无问题地将VB6 multidim数组传递到C++端,但我不知道如何在C#中设置它,以便正确编组。有谁知道建立一个多维数组并将其传递给COM的步骤?

    0热度

    1回答

    我想从C#接口数组传递给C++/CLI。这里是代码: // *** SafeArrayTesting_PlusPlus.cpp *** #include "stdafx.h" #include <comdef.h> using namespace System; using namespace System::Runtime::InteropServices; namespace

    0热度

    1回答

    我有一个ATL COM对象,我从C#使用。界面目前看起来像: interface ICHASCom : IDispatch{ [id(1), helpstring("method Start")] HRESULT Start([in] BSTR name, [out,retval] VARIANT_BOOL* result); ... [id(4), helpstring("

    1热度

    1回答

    我需要读取文本文件并将数据存储到Safearray中。 我这个函数试了一下: bool Parse::LoadTxtFileIntoSafearray(string* strPath, SAFEARRAY** pByteArray) { bool bReturn = false; string line; int iOffset = 0; char* pcBuffer = NULL;

    1热度

    1回答

    可以通过com对象跨进程边界传递安全性吗?