В VBScript для создания и использования объекта ...
set obj= CreateObject("your.fully.qualified.com.classname")
obj.Do_Some_Method(some_obj_param, another_obj_param)
obj.Some_Property = anything
Единственными факторами при передаче значений любого вида назад и вперед являются: а) как ваш класс COM переводит их назад и вперед ; и б) как ваш потребительский / клиентский язык переводит их туда и обратно. Объекты есть объекты. Но по сути, класс COM, который вы создаете, вызываете или назначаете, должен иметь свой интерфейс, правильно настроенный и зарегистрированный. И (я думаю) любой объект, который вы создаете с помощью CreateObject()
, должен реализовывать одно из нескольких свойств, открывающих его для COM, чтобы иметь возможность использовать любой из его методов или получить доступ к его свойствам. А именно атрибут ComVisible(true)
.
Вы найдете, что большинство классов .Net по умолчанию не могут вызываться полностью с использованием COM, даже если в документации помечено иное (вероятно, либо потому, что ваш язык потребителя / клиента не может с этим справиться, либо он на самом деле не вызывается COM) Вы должны сделать свой собственный пользовательский COM Callable Wrapper .