Why am I not able to use 32-bit DLL COM Objects in 64-bit MATLAB?

20 次查看(过去 30 天)
I can instantiate a 32-bit COM DLL-file as an In-Process (InProc) ActiveX Server in 32-bit MATLAB:
a = actxserver('MSOSOAP.HttpConnector30')
a =
COM.MSOSOAP_HttpConnector30
However, when I attempt the same in 64-bit MATLAB:
b = actxserver('MSOSOAP.HttpConnector30')
I receive the following error:
ERROR: ??? Server Creation Failed: Class not registered

采纳的回答

MathWorks Support Team
编辑:MathWorks Support Team 2021-10-21
The documentation for MATLAB 7.6 (R2008a) has been updated to incorporate the relevant information. This information can be accessed under the section 'Instantiating a DLL component':
For previous product releases, read below for any possible workarounds:
Microsoft does not support loading 32-bit DLLs or In-Process (InProc) COM Servers into a 64-bit application, or vice-versa. For additional information, please refer to the following resource on MSDN:
This limitation does not apply to COM Automation servers that are EXE-files (e.g. Excel, 32-bit MATLAB etc.). These servers will work as expected.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Use COM Objects in MATLAB 的更多信息

产品


版本

R2006b

Community Treasure Hunt

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

Start Hunting!

Translated by