Я хотел бы встроить интерпретатор V8 JavaScript, который поставлется с Google Chrome в рамках моего приложения Delphi. Я знаю о встроенном проекте хрома с открытым исходным кодом от Google, но я хотел бы знать, знал ли кто-либо о каких-либо обертках Паскаля/Delphi?
Существует проект в качестве примера, включенный с zip-файлом в сайт, который я связал, который записан в C++. Если ничто иное, я буду медленно и мучительно работать для преобразования его.
ОБНОВЛЕНИЕ:
Я просто хочу встроить интерпретатор V8 JavaScript, не браузер Хрома.
Самым идеальным решением было бы создать оболочку, предпочтительно использующую исходный исходный код без изменений, и скомпилировать эту оболочку в файл OBJ (с использованием C ++), который then связывается с Delphi, где другая «оболочка» предоставляет движок через более стандартный синтаксис объектного паскаля. Этот подход затем позволит вносить изменения в движок без необходимости полного преобразования каждый раз, когда добавляются новые функции или дополнительная производительность. Единственным недостатком этого подхода является то, что при навигации по слоям будет потеряна некоторая производительность ... но я бы ожидал, что она будет минимальной.
Если на самом деле вы хотите встроить в свое приложение браузер Chrome, попробуйте Google Chrome Frame , он предоставляет COM-интерфейсы, в первую очередь для интеграции в Internet Explorer, но теоретически мы также должен иметь к ним доступ.
(Я не уверен, потому что сам хотел бы попробовать это, но это в (длинном) списке действительно интересных вещей, которые я могу попробовать, когда доберусь до них.) Обновление : Я быстро попробовал это, получил ошибку «Интерфейс не поддерживается» и разместил ее здесь .
Если вы используете 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
Я также использую мост SpiderMonkey, без каких-либо проблем. Работает достаточно быстро, не занимает много места, и у меня пока не было проблем с Unicode!