Actxcontrol - data transfer to an instrument

5 ビュー (過去 30 日間)
Kang Soo Lee
Kang Soo Lee 2021 年 2 月 11 日
回答済み: Pratheek Punchathody 2021 年 2 月 16 日
I need a help regarding a format for a variable to transfer input data to my instrument.
I am trying to communicate via ActiveX with my instrument (Raman microspectroscope). When I enter
LabSpec = actxcontrol('NFACTIVEX.NFActiveXCtrl.1', [15 15 410 390]);
It says
PutValue(handle, int32, ustring, Variant(Pointer))
Given this, when I enter
PutValue(LabSpec, 0, 'ShutterMode', 1)
It says
Error using COM.NFACTIVEX_NFActiveXCtrl_1/PutValue
Error: Type mismatch, argument 3
I think the last argument was incorrectly inserted. If I need to give "1" (for the argument 3) to the instrument, what type of variable should I use for "Variant(Pointer)"?
Anyone has a good suggestion?
  6 件のコメント
Kang Soo Lee
Kang Soo Lee 2021 年 2 月 14 日
Hi Mario,
Thanks for your geneous helps! I have not yet solved my issue. I see your points and I have decided to contact the manufacturer with what I have been collecting. Indeed, they provide a document for ActiveX-based controls of the system, but it did not very useful to solve this issue. I will make a note here when I hear a solution. Thanks again!


回答 (1 件)

Pratheek Punchathody
Pratheek Punchathody 2021 年 2 月 16 日
As the documentation says actxcontrol To be Removed from Matlab in future releases.
As a workaround to this, If the control does not have UI interaction involved, you can load the control using 'actxserver' in invisible mode and call its properties and methods on your demand. The difference between 'actxcontrol' and 'actxserver' is there will be no figure window. But you are still able to get a handle of control in MATLAB. For more details with 'actxserver',
Refer to the documentation on actxserver for further details.

Community Treasure Hunt

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

Start Hunting!

Translated by