Как передать структуру в managed wrapper

Автор Тема: Как передать структуру в managed wrapper  (Прочитано 4451 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн GennadiyАвтор темы

  • ADN Club
  • **
  • Сообщений: 81
  • Карма: 0
Добрый вечер.

Создаю managed wrapper для своего объекта.
В классе объекта объявлена структура типа
Код - C++ [Выбрать]
  1. public:
  2.   struct LayData
  3.   {
  4.     AcString Name;
  5.     AcGePoint3d Pos;
  6.     double H;
  7.     int Code;
  8.   };
  9.  
  10. protected:
  11.   AcArray<LayData> lays;

Подскажите как мне обращаться к этому массиву структур из managed wrappera, в смысле
преобразовывать из unmanaged в managed и обратно? Надеюсь хоть и коряво но все же понятно выразил мысль?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13832
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как передать структуру в managed wrapper
« Ответ #1 : 25-07-2016, 22:58:38 »
Создаю managed wrapper для своего объекта.
Зачем?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн GennadiyАвтор темы

  • ADN Club
  • **
  • Сообщений: 81
  • Карма: 0
Re: Как передать структуру в managed wrapper
« Ответ #2 : 25-07-2016, 23:04:32 »
Чтобы дальше работать с ним на c#. У меня так все custom entity сделаны. На ObjectARX я пишу только
сам объект, а дальше создаю оболочку под .net 

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13832
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как передать структуру в managed wrapper
« Ответ #3 : 25-07-2016, 23:39:29 »
Что-то я сильно сомневаюсь, что такое AcArray<LayData>  можно передать в managed. Впрочем тут я не специалист.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн GennadiyАвтор темы

  • ADN Club
  • **
  • Сообщений: 81
  • Карма: 0
Re: Как передать структуру в managed wrapper
« Ответ #4 : 26-07-2016, 08:48:48 »
Да, пожалуй, напрямую передать AcArray<LayData> в managed не получится.
Придется либо вместо структуры LayData писать навороченный класс, и соответствующий класс в managed,
чтобы можно было сделать преобразование как, например, AcGePoint3dArray в Point3dCollection,
либо поступить проще, и в каком то методе считывать и записывать данные поэлементно.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13832
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как передать структуру в managed wrapper
« Ответ #5 : 26-07-2016, 08:50:11 »
либо поступить проще, и в каком то методе считывать и записывать данные поэлементно.
Я думаю, что это будет самым правильным способом.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение