как вызвать функцию C ++ COM с параметром BSTR в VBScript - PullRequest
0 голосов
/ 24 февраля 2011

В моем COM-компоненте, написанном на C ++, есть функция: HRESULT f (BSTR id)

Как вызвать эту функцию в VBScript?

Заранее спасибо!

1 Ответ

2 голосов
/ 24 февраля 2011

Для вызова COM-компонентов из VBScript ваш объект должен реализовывать интерфейс IDispatch . Как только вы это сделаете, вы можете сделать что-то вроде:

Set myObj = CreateObject("yourObject")
myObj.f "Hello, world!"

Отображение между аргументом VARIANT, передаваемым из vbscript, и аргументом BSTR, ожидаемым реализацией, является задачей вашей реализации IDispatch. Если вы используете ATL, см. Эту статью о том, как использовать встроенную реализацию ATis IDispatch: http://flylib.com/books/en/3.90.1.47/1/

...