Сообщество программистов Autodesk в СНГ

ADN Club => ObjectARX => Тема начата: Кирилл Захаров от 28-07-2017, 13:25:00

Название: Вызов метода .NET библиотеки из кода на C++
Отправлено: Кирилл Захаров от 28-07-2017, 13:25:00
Здравствуйте!
Подскажите, пожалуйста, какими способами можно вызвать метод .NET библиотеки (с передачей строковых параметров) из кода на C++ в рамках AutoCAD и есть ли вообще такая возможность?
Название: Re: Вызов метода .NET библиотеки из кода на C++
Отправлено: Александр Ривилис от 28-07-2017, 14:03:39
Здравствуйте!
Подскажите, пожалуйста, какими способами можно вызвать метод .NET библиотеки (с передачей строковых параметров) из кода на C++ в рамках AutoCAD и есть ли вообще такая возможность?
Теоретически такая возможность есть. Для этой цели тебе нужно определить в C# делегат
Код - C# [Выбрать]
  1. [UnmanagedFunctionPointer(...)]
Каким-то образом передать его в C++ и оттуда уже его вызвать как функцию. Заморочек будет очень много и если ты не ас в C# и C++, то лучше туда лезть, а попытаться решить этот вопрос иначе.

Название: Re: Вызов метода .NET библиотеки из кода на C++
Отправлено: Кирилл Захаров от 28-07-2017, 14:20:48
Спасибо.
Название: Re: Вызов метода .NET библиотеки из кода на C++
Отправлено: Александр Ривилис от 28-07-2017, 14:30:58
Как варианты еще:
https://support.microsoft.com/en-us/help/828736/how-to-call-a-managed-dll-from-native-visual-c-code-in-visual-studio-n
Ну и еще C++ может быть mixed, и тогда из его managed часть можно вызывать код C#.
Можно использовать промежуточную mixed dll: https://www.codeproject.com/Tips/695387/Calling-Csharp-NET-methods-from-unmanaged-C-Cplusp
Ну и последний вариант: https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports
Но всё это очень заморочливо.