0

1 つの固定サイズの配列パラメーターを実装するメソッドを使用して、COM インターフェイスを公開する必要があります。コンシューマーは、配列サイズを宣言する必要があるテクノロジに基づいているため、配列サイズは固定されています。だから私はこのようなことをすることができました

[Guid("2AE7C342-89ED-492B-B9AA-92A778332000")]
public interface _DocSolutionsClassic

{
    [DispId(1)]
    void Execute( string[] InputParams);
}

それは私にとってはうまくいきますが、消費者による異次元エラーがあります。

こんな感じで書きたいと思います

[DispId(1)]
void Execute( string[50] InputParams);

またはこれ

[DispId(1)]
string[] InputParams = new string[50];
void Execute(string[] InputParams);

しかし、Vstudio 2010 ではエラーが発生します...

4

1 に答える 1

1

おそらくこれが役立つかもしれません:

IDL コード スニペット:

[id(1), helpstring("method foobar")] HRESULT foobar( BSTR * bstrs, ULONG size );

このようにして、任意の数の文字列を送信できます。'size' パラメータは、実際には 'bstrs' が指す文字列の数です。

注: 文字列の割り当て/割り当て解除 (または環境内の同等のもの) には / を使用SysAllocString()SysFreeString()ます。

于 2011-11-16T12:11:58.747 に答える