Visual Basic или VBScript как движок сценариев Java - PullRequest
0 голосов
/ 25 сентября 2010

Я рассматриваю реализацию ScriptingEngine в виде JSR223 для Visual Basic или VBScript (потому что я не знаю никакой реализации, кроме заброшенного движка BSF от IBM). Я знаю, что это займет у меня какое-то родное программирование, но я не знаю, с чего начать.

Одной из идей было бы интегрировать хост сценариев Windows в Java, возможно, используя его как активный элемент управления, но я не могу его найти. Существует ли публичный API для хоста Windows Scripting? Есть другие идеи?

Ответы [ 2 ]

1 голос
/ 28 сентября 2010

Да, есть возможность интегрировать Windows Scripting в Java, но это не тривиально. Документация для Windows Script Interfaces доступна на MSDN. Интерфейсы, которые вас больше всего интересуют: IActiveScript , IActiveScriptParse и IActiveScriptSite .

Существует множество примеров, доступных через поиск Google, но не так много на Java. Эти парни имеют примеры, но он использует их Java2Com продукт. Хотя он не был специфичен для Java, доктор Доббс написал серию статей о реализации этих интерфейсов в .NET. Я думаю, что вы можете найти эту информацию полезной.

Был также элемент управления сценарием ActiveX , который поставлялся с VB6, что облегчало добавление сценариев в ваше приложение. Вот пример здесь использования его из Java с использованием моста JACOB Java to COM.

0 голосов
/ 25 сентября 2010

То, что вы, по сути, просите, - это как встроить программу .NET в JVM. Это нетривиальная задача, и она может быть намного больше, чем вы ожидаете.

Движок JavaScript JSR-233 по умолчанию доступен в Sun Java 6, и вы можете загрузить адаптеры для многих других языков на https://scripting.dev.java.net/. Вы все еще можете иметь большую мощность, оставаясь внутри JVM. *

Также, похоже, что BSF не был заброшен, а передан Apache Jakarta. http://jakarta.apache.org/bsf/. Я не вижу никакой поддержки VIsual Basic на странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...