INVOKE を使用して ActiveX オブジェクトにどのようなデータを渡すことができますか?
4 views (last 30 days)
Show older comments
MATLAB 環境に存在する ActiveX があり、メソッドを使用したいのですが,
それを渡す方法がわかりません。どのような型の引数を渡すことができるかを教えてください。
Accepted Answer
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)
0 Comments
More Answers (0)
See Also
Categories
Find more on MATLAB の COM オブジェクト in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!