Как я могу использовать интерпретатор V8 JavaScript Google Chrome от Delphi?

Я хотел бы встроить интерпретатор V8 JavaScript, который поставлется с Google Chrome в рамках моего приложения Delphi. Я знаю о встроенном проекте хрома с открытым исходным кодом от Google, но я хотел бы знать, знал ли кто-либо о каких-либо обертках Паскаля/Delphi?

Существует проект в качестве примера, включенный с zip-файлом в сайт, который я связал, который записан в C++. Если ничто иное, я буду медленно и мучительно работать для преобразования его.

ОБНОВЛЕНИЕ:
Я просто хочу встроить интерпретатор V8 JavaScript, не браузер Хрома.

17
задан Mick 24 February 2010 в 13:49
поделиться

4 ответа

Самым идеальным решением было бы создать оболочку, предпочтительно использующую исходный исходный код без изменений, и скомпилировать эту оболочку в файл OBJ (с использованием C ++), который then связывается с Delphi, где другая «оболочка» предоставляет движок через более стандартный синтаксис объектного паскаля. Этот подход затем позволит вносить изменения в движок без необходимости полного преобразования каждый раз, когда добавляются новые функции или дополнительная производительность. Единственным недостатком этого подхода является то, что при навигации по слоям будет потеряна некоторая производительность ... но я бы ожидал, что она будет минимальной.

3
ответ дан 30 November 2019 в 14:39
поделиться

Если на самом деле вы хотите встроить в свое приложение браузер Chrome, попробуйте Google Chrome Frame , он предоставляет COM-интерфейсы, в первую очередь для интеграции в Internet Explorer, но теоретически мы также должен иметь к ним доступ.

(Я не уверен, потому что сам хотел бы попробовать это, но это в (длинном) списке действительно интересных вещей, которые я могу попробовать, когда доберусь до них.) Обновление : Я быстро попробовал это, получил ошибку «Интерфейс не поддерживается» и разместил ее здесь .

1
ответ дан 30 November 2019 в 14:39
поделиться
  • Если вы используете Prism, прочтите это: http://blogs.remobjects.com/blogs/ck/2010/02/23 / p1175 . RemObjects представляет собой бесплатный скриптовый движок с открытым исходным кодом , который поддерживает скрипт ECMA (JavaScript) и PascalScript. Это весь паскальский код, но он зависит от DotNet (RemObjects, конечно, написала его на Prism).

  • Есть оболочка V8 для Python . Было бы интересно посмотреть, как им это удалось.

  • Здесь есть сценарий V8 Swig, но заставить Swig работать с Delphi само по себе может оказаться сложной задачей: http://v8.googlecode.com/issues/attachment?aid=7578402775385555895&name=jav8.i

  • Вы можете использовать движок JavaScript из FireFox из вашего приложения Delphi с Delphi / Kylix <-> SpiderMonkey Bridge

1
ответ дан 30 November 2019 в 14:39
поделиться

Я также использую мост SpiderMonkey, без каких-либо проблем. Работает достаточно быстро, не занимает много места, и у меня пока не было проблем с Unicode!

1
ответ дан 30 November 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: