External Interfaces Reference |
Invoke method on object or interface, or display methods
Syntax
S = h.invoke S = h.invoke('methodname') S = h.invoke('methodname', arg1, arg2, ...) S = h.invoke('custominterfacename') S = invoke(h, ...)
Description
S = h.invoke
returns structure array S
containing a list of all methods supported by the object or interface, h
, along with the prototypes for these methods.
S = h.invoke('methodname')
invokes the method specified in the string methodname
, and returns an output value, if any, in v
. The data type of the return value is dependent upon the specific method being invoked and is determined by the specific control or server.
S = h.invoke('methodname', arg1, arg2, ...)
invokes the method specified in the string methodname
with input arguments arg1
, arg2
, etc.
S = h.invoke('custominterfacename')
returns an Interface
object that serves as a handle to a custom interface implemented by the COM component. The h
argument is a handle to the COM object. The custominterfacename
argument is a quoted string returned by the interfaces
function.
S = invoke(h, ...)
is an alternate syntax for the same operation.
Remarks
If the method returns a COM interface, then invoke
returns a new MATLAB COM object that represents the interface returned. See Converting Data in the External Interfaces documentation for a description of how MATLAB converts COM data types.
Example 1 -- Invoking a Method
Create an mwsamp
control and invoke its Redraw
method:
f = figure ('position', [100 200 200 200]); h = actxcontrol ('mwsamp.mwsampctrl.1', [0 0 200 200], f); h.Radius = 100; h.invoke('Redraw');
Here is a simpler way to use invoke
. Just call the method directly, passing the handle, and any arguments:
Call invoke
with only the handle argument to display a list of all mwsamp
methods:
h.invoke ans = AboutBox = void AboutBox(handle) Beep = void Beep(handle) FireClickEvent = void FireClickEvent(handle) . . etc.
Example 2 -- Getting a Custom Interface
Once you have created a COM server, you can query the server component to see if any custom interfaces are implemented. Use the interfaces
function to return a list of all available custom interfaces:
h = actxserver('mytestenv.calculator') h = COM.mytestenv.calculator customlist = h.interfaces customlist = ICalc1 ICalc2 ICalc3
To get a handle to the custom interface you want, use the invoke
function, specifying the handle returned by actxcontrol
or actxserver
and also the name of the custom interface:
You can now use this handle with most of the COM client functions to access the properties and methods of the object through the selected custom interface.
See Also
interfaces | iscom |
© 1994-2005 The MathWorks, Inc.