Pregunta

¿Es posible llamar a código administrado, específicamente IronRuby o IronPython desde código no administrado como C++ o Delphi?

Por ejemplo, tenemos una aplicación escrita en Delphi que se está trasladando a C#.NET. Nos gustaría proporcionar secuencias de comandos Ruby o Python en nuestra nueva aplicación para reemplazar VBSCRIPT.Sin embargo, necesitaríamos proporcionar secuencias de comandos Ruby/Python en la antigua aplicación Delphi.¿Es posible utilizar las DLL administradas proporcionadas por IronRuby/IronPython desde el código Delphi?

¿Fue útil?

Solución

Sí.Ejemplo de Delphi para Win32 aquí: http://interop.managed-vcl.com/
Muestra cómo utilizar C# y un ensamblado Delphi.NET de Delphi para Win32.

Otros consejos

Es posible alojar CLR o DLR en código no administrado, ya que es un componente COM.Desde ese punto puede cargar los ensamblados administrados con los que necesita interactuar.

Desde MSDN: Alojamiento de Common Language Runtime

¿Por qué no incorporar CPython en su lugar, que tiene una API diseñada para usarse directamente desde C/C++?Se pierde la ventaja de los múltiples idiomas, pero probablemente se gana en simplicidad.

Sí.Eso es posible usando Com envoltorios invocables.Básicamente, está permitiendo que sus clases .Net sean llamadas a través de COM/ActiveX desde su código win32 (Delphi o C++).

yo suelo Exportaciones no administradas para crear la interfaz para el motor de script IronPython en C#.Tenga cuidado cuando utilice código .NET de Win32 Delphi: debe utilizar Set8087CW($133F); para cambiar el comportamiento de excepción de punto flotante.

Haz visto Hidra de RemObjetos?No tengo experiencia con eso, pero desde la introducción, parece relevante.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top