Вопрос

Можно ли вызвать управляемый код, в частности IronRuby или IronPython, из неуправляемого кода, такого как C++ или Delphi?

Например, у нас есть приложение, написанное на Delphi, которое переносится на C#.NET. Мы хотели бы предоставить сценарии Ruby или Python в нашем новом приложении вместо VBSCRIPT.Однако нам нужно будет предоставить сценарии Ruby/Python в старом приложении Delphi.Можно ли использовать управляемые библиотеки DLL, предоставленные IronRuby/IronPython, из кода Delphi?

Это было полезно?

Решение

Да.Пример Delphi для Win32 здесь: http://interop.managed-vcl.com/
Показывает, как использовать C#, а также сборку Delphi.NET из Delphi для Win32.

Другие советы

CLR или DLR можно разместить в неуправляемом коде, поскольку это COM-компонент.С этого момента вы можете загрузить управляемые сборки, с которыми вам нужно взаимодействовать.

Из MSDN: Хостинг общеязыковой среды выполнения

Почему бы вместо этого не встроить CPython, API которого предназначен для использования непосредственно из C/C++.Вы теряете преимущество нескольких языков, но, вероятно, получаете простоту.

Да.Это возможно, используя Вызываемые оболочки Com.По сути, вы разрешаете вызывать ваши классы .Net через COM/ActiveX из вашего кода Win32 (Delphi или C++).

я использую Неуправляемый экспорт создать интерфейс к скриптовому движку IronPython на C#.Будьте осторожны при использовании кода .NET из Win32 Delphi — вам придется использовать Set8087CW($133F); чтобы изменить поведение исключений с плавающей запятой.

Ты видел Гидра из РемОбжектс?У меня нет опыта работы с этим, но судя по вступлению, это выглядит актуальным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top