INVOKE を使用して ActiveX オブジェクトにどのよ​うなデータを渡すこと​ができますか?

4 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 7 Jun 2012
MATLAB 環境に存在する ActiveX があり、メソッドを使用したいのですが,
それを渡す方法がわかりません。どのような型の引数を渡すことができるかを教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 7 Jun 2012
MATLAB 環境においては、スカラー、ベクトル、double 型または文字列の行列データ、ActiveX オブジェクト、およびセル配列を ActiveX に渡すことができます。セル配列については、 2 次元以下かつ、スカラーまたは文字列のみという制限があります。セル配列については SAFEARRAY を使用することにより ActiveX への変換を行います。
さらに、MATLAB 環境内の 1 次元行列については 2 次元行列として ActiveX サーバーに渡されることに注意が必要です。
セル配列の ActiveX コントロールまたはオートメーションサーバーへの渡し方については、MWsampコントロールを使用してお試しいただくことで見ることができます。
まず、以下のコマンドで起動します。
mwsamp
次にINVOKEを使用してセル配列を渡します。
invoke (h, 'SetBSTRArray', {'asdf',8})
MATLAB にセル配列による情報が戻されていることがわかります。SetBSTRArray メソッドは変化文の情報を SAFEARRAY で取得し、SAFEARRAY として戻しています。
MWSamp コントロールは MATLAB がサポートする ActiveX のデータ型を渡すことのできるメソッドの情報を含んでいます。これは以下のコマンドでリストすることができます。
invoke(h)

More Answers (0)

Tags

No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!