safearray

    2热度

    1回答

    我一直在这个圈子上围绕谷歌,我可以找到各种讨论,很多建议,但似乎没有工作。我有一个ActiveX组件,它将图像作为字节数组。当我做TLB导入时,它带有这个签名: int HandleImage([MarshalAs(UnmanagedType.Struct)] ref object Bitmap); 如何将字节[]传递给那个? 还有另一个函数可以用类似的签名返回数据,它的工作原理是因为我可以传

    2热度

    2回答

    我在C#中使用一个具有相同名称的类(没有I)实现它。 [ComVisible(true)] [Guid("B2B134CC-70A6-43CD-9E1E-B3A3D9992C3E")] public interface IOrder { long GetQuantity(); long GetOrderType(); long GetPositionType()

    1热度

    1回答

    我正在使用第三方COM组件(即没有它的代码)。所讨论的方法具有以下概要: HRESULT GetTableInfo( [in] BSTR bstrTableName, [in,out] SAFEARRAY(BSTR) bstrColumnTitles, [in,out] SAFEARRAY(long) lColumnPos); 我试图传递一个裁判一个固定大小的阵列((阵列)串[6])和到

    3热度

    1回答

    我从C++非托管代码调用C#方法。从数组中返回的类实例中获取值时遇到问题。 我简化了代码 这是有问题的方法。 [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_UNKNOWN)] public ScOrder[] GetOrders() { return new ScO

    9热度

    1回答

    ref参数 这里是我的C#服务器方法: public void Exec(out int status, string output) { status = 3; Console.WriteLine("Exec({0}, ...)", status); output = string.Format("Hello from .NET {0}", DateTime.N

    1热度

    1回答

    让我从开始说明,我不是COM开发人员。我知道标准的C++,C#和Java。 我有一个C#库,将从托管C++调用。我已经使用Visual Studio 2010添加了C++类 - > TypeLib中的MFC类。自动生成的C++类不能编译。这显然缺少一个返回声明。我该如何解决?我非常感谢任何帮助。从图书馆 [Serializable] [ ClassInterface(ClassInt

    0热度

    2回答

    下面的代码一个SAFEARRAY工作就好了谢谢你一个COM客户端,但随着新的客户端(相同的软件的更新版本)string_array_to_bstr_safearray_variant引发访问冲突,一切都死了。 谁能告诉我,如果我这样做,我与前越来越远一些错误..?我没有正确地分配内存吗? #include "comutil.h" void string_array_to_bstr_safear

    0热度

    2回答

    我有一个COM功能: GetData (SAFEARRAY ** pRetVal) 我有以下的代码: SAFEARRAY *ppData = NULL; hr = pmyInterface->GetData(&ppData); CComSafeArray<IUnknown*> pSafeArgs; pSafeArgs.Attach(ppData); 我必须改变它,并删除ppData

    0热度

    1回答

    我有一个VB6 ActiveX DLL,其函数返回一个Variant。 Variant包含一个节点变量数组,每个节点变量包含一个字符串Name和两个数据数组(字符串和双精度数组)。我试图通过JNI将它作为工作项目返回给Java程序。 我可以通过调用适当的VB函数并将Variant结果存储为SAFEARRAY来访问节点的外部数组。它可以访问维度并获取下限和上限。但是,我无法通过SafeArrayGe

    8热度

    3回答

    我正在使用具有返回VARIANT和SAFEARRAY的BSTR s的函数的COM对象库。我如何显示这个VARIANT实例的值并将其保存在TStringList?我试图找到没有明确答案的网络。 我尝试没有成功如下: Variant V; String mystr; VarClear(V); TVarData(V).VType = varOleStr; V = ComFunction->Ge