Нужен простой способ встраивания IronPython с C ++ CLI

Итак, я нашел это руководство для этого в C# и он работал безупречно, очень, очень легко настроить. Теперь я пытаюсь сделать то же самое в C++/CLI поскольку он только кодирует в C++/CLI и это оказывается намного сложнее ..

Прежде всего, нет динамического ключевого слова в C++/CLI поэтому перевод примера кода из этого руководства, похоже, не сработал. я нашел другой пример специально для C++/CLI но на самом деле это больше не работает, я предполагаю, что это для старой версии IronPython. Поэтому мне действительно нужна помощь с простым способом запустить скрипт IPY изнутри C++/CLI а затем, может быть, пример того, как представить объекты / методы для сценария.

0

Решение

Это должно быть возможно (я никогда не делал это с C ++ / CLI), но вам нужно просто сделать это старомодный, до .NET 4 способ (в C #):

ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
engine.Execute(fooScript, scope);
object foo = scope.GetVariable("foo");
object result = engine.Operations.Invoke(foo, 1, "a");

Посыпьте ^ там соответствующим образом, чтобы конвертировать C # в C ++ / CLI.

(fooScript, в этом случае, будет содержать что-то вроде:

def foo(a, b):
return str(a) + ", " + str(b)

)

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]