创建com对象
使用actxserver
功能以创建用于动态链接库(DLL)组件的过程中的服务器或可执行文件(EXE)组件的程序外服务器。
实例化DLL组件
要为实现为动态链接库(DLL)的组件创建服务器,请使用actxserver
功能。MATLAB®在包含客户端应用程序的同一过程中创建组件的实例。
语法actxserver
,当与DLL组件一起使用时actxserver(progid)
, 在哪里progid
是组件的程序化标识符。
actxserver
将句柄返回到对象的主接口。使用此句柄在其他com函数调用中引用对象。您也可以使用手柄获取更多接口到对象。有关使用接口的更多信息,请参见com对象接口。
与众不同微软®ActiveX®控件,服务器显示的任何用户界面都会出现在单独的窗口中。
您不能在64位MATLAB应用程序中使用32位进程DLL COM对象。有关此限制的信息,请参阅为什么我无法在64位MATLAB中使用32位DLL COM对象?。
实例化EXE组件
您可以使用actxserver
功能以创建为执行的组件(EXE)实现的组件。在这种情况下,MATLAB在未经处理的服务器中实例化组件。
语法actxserver
创建可执行文件是actxserver(progid,sysname)
。progid
是组件的程序化标识符,并且是sysname
是用于配置分布式COM(DCOM)系统的可选参数。
actxserver
返回到主接口的句柄到com对象。使用此句柄在其他com函数调用中引用对象。您也可以使用手柄获取更多接口到对象。有关使用接口的更多信息,请参见com对象接口。
服务器显示的任何用户界面都会出现在单独的窗口中。
此示例创建一个运行的com服务器应用程序Microsoft Excel®电子表格程序。手柄分配给H
。
h = actxserver('excel.Application')
MATLAB显示:
h = com.excel.application
MATLAB可以通过编程方式连接到已经在计算机上运行的COM Automation Server应用程序的实例。要获取对该应用程序的参考,请使用ActXgetRunningServer
功能。
此示例获取对Excel程序的引用,Excel程序必须已经在系统上运行。返回的手柄分配给H
。
h = actxgetRunningserver('excel.Application')
MATLAB显示:
h = com.excel.application