Из jscript (или vbscript), как динамически вызывать метод из COM-объекта? - PullRequest
2 голосов
/ 30 июня 2011

JScript допускает такие прикольные функции, как .apply (), благодаря которым вы можете вызывать метод по имени, передавая массив аргументов для вызова метода.Однако это относится к объектам JScript (javascript) и, очевидно, не будет работать с компонентом COM - но это функция, которую я ищу.

Есть ли способ вызвать метод объекта COM по имени, а с динамическими аргументами из JScript?Я ничего не смог найти.

Спасибо!

Ответы [ 2 ]

1 голос
/ 30 июня 2011

Динамически создайте скрипт, который вы хотите вызвать как строку, затем вызовите его, используя eval ().например, eval("someObj.method()") или eval(objName + "." + methodName + "(" + args.join(",") +")").

0 голосов
/ 01 июля 2011

Поскольку я использую WSC (Windows Script Component), я сделал обходной путь, с помощью которого я генерирую скрипт-обертку, используя XSL, преобразуя входной WSC (который является файлом XML).XSL генерирует инструкцию switch {} с регистром для каждого метода, предоставляя правильное количество аргументов для каждого метода.

Не совсем то, что я хотел, но я получаю лучшую проверку ошибок:)

...