safearray

    2

    2答えて

    を反復 CComSafeArray<VARIANT> fields; hr = _tab_file->get_Fields(fields.GetSafeArrayPtr()); for (LONG i = fields.GetLowerBound(), ie = fields.GetUpperBound(); i <= ie; ++i) { CComVariant fld = f

    4

    2答えて

    現在、C++からC#への戻り値としてSAFEARRAY(GUID)を渡す必要があるという問題が発生しています。 現在、C#側では、Tlbimp.exe(タイプライブラリインポータ)から生成されたInterop DLLが使用されています。 IDLがある:私も試した HRESULT GetGuids( [out]SAFEARRAY(GUID)* guids); [うち、RETVAL] 関数

    1

    1答えて

    Windows API用のCOMラッパーを開発しています。ネイティブWindows APIサポートを持たないスクリプト言語から使用できます。だから、私はCOM ATLプロジェクトで何を使うべきか考えています。 SAFEARRAYまたはCComSafeArray? VARIANTまたはCComVariant?または他の構造体または適切なラッパー? 両方のタイプを使用してテストしましたが、パフォーマン

    5

    2答えて

    function GetVarArrayFromBuffer(ABuffer : pByte; ASizeInBytes: Cardinal) : OleVariant; var LVarArrayPtr: Pointer; begin Result := VarArrayCreate([0, ASizeInBytes - 1], varByte);

    10

    2答えて

    C++ safearrayポインターへのポインターを反復してその要素にアクセスする方法。リム・バイオLiongによって投稿 私は解決策を複製しようとした http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/022dba14-9abf-4872-9f43-f4fc05bd2602 が、奇妙なことには、IDLのメソッドのシグネチ

    1

    1答えて

    私はCOM開発者ではないと言います。私は標準C++、C#、Javaを知っています。 私はManaged C++から呼び出されるC#ライブラリを持っています。 Visual Studio 2010 - > TypeLibのMFCクラスを使用してC++クラスを追加しました。自動生成されたC++クラスはコンパイルされません。明らかにreturn文がありません。これをどうやって解決するのですか?私は本当に

    0

    2答えて

    次のコードは、COMクライアント1台につき、ありがとうございましたが、新しいクライアント(同じソフトウェアの更新版)string_array_to_bstr_safearray_variantがアクセス違反をスローし、すべてが死にます。 誰かが私が前に逃げていた何か間違っていることを教えてもらえますか?メモリを正しく割り当てることができませんか? #include "comutil.h" vo

    6

    2答えて

    次のメソッドでCOMコンポーネントを使用しようとしています。 HRESULT _stdcall Run( [in] SAFEARRAY(BSTR) paramNames, [in] SAFEARRAY(VARIANT *) paramValues ); どのようにC/C++でparamValues配列を作成できますか?

    9

    1答えて

    私はデータを取得するC++関数を持っていて、C#から呼び出しました。この関数はSAFEARRAYへのポインタを取得し、文字列でポップします(SysAllocStringを使用)。 すべては問題ありませんが、プログラムはメモリをリークしています。 私は少し検索を行なったし、私はメソッドのシグネチャにこの属性を追加するとことがわかった: [MarshalAs(UnmanagedType.SafeArr

    -2

    1答えて

    FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2)) 上記のコードはVBAマクロにあります。今私はC++コードで作成する必要があります同じこと。 私が今まで理解できる限り、私はSAFEARRAYタイプを使うべきです。 しかし、私はそれをどうすれば正しく行うべきなのかまだ分かりません。