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

ADN Club => ObjectARX => Тема начата: Алексей (IdeaSoft) от 04-09-2016, 21:06:12

Название: Сравнение фрагмента кода VB и C++
Отправлено: Алексей (IdeaSoft) от 04-09-2016, 21:06:12
Два фрагмента кода на VB NET b на C++
На VB  bt.Item без проблем на С++ член Item не найден.
Есть другой способ получить ObjectId ModelSpace?

Код - vb.net [Выбрать]
  1.  Imports CAD_DBS = Autodesk.AutoCAD.DatabaseServices
  2.  Dim bt As CAD_DBS.BlockTable = DirectCast(t.GetObject(db.BlockTableId, CAD_DBS.OpenMode.ForRead), CAD_DBS.BlockTable)
  3.  Dim btr As CAD_DBS.BlockTableRecord = DirectCast(t.GetObject(bt.Item(CAD_DBS.BlockTableRecord.ModelSpace), CAD_DBS.OpenMode.ForRead), CAD_DBS.BlockTableRecord)
      
Код - C++ [Выбрать]
  1. namespace CAD_DBS = Autodesk::AutoCAD::DatabaseServices;
  2. CAD_DBS::BlockTable^ bt = safe_cast<CAD_DBS::BlockTable^>(tr->GetObject(db->BlockTableId,
  3.                                                                                       CAD_DBS::OpenMode::ForRead));
  4. CAD_DBS::BlockTableRecord ^btr=safe_cast<CAD_DBS::BlockTableRecord^>(tr->GetObject(bt->item(CAD_DBS::BlockTableRecord::ModelSpace),
  5.                                         CAD_DBS::OpenMode::ForRead));

А все понял в прямоугольных скобках нужно было bt[...] и без Item


Название: Re: Сравнение фрагмента кода VB и C++
Отправлено: Александр Ривилис от 04-09-2016, 22:37:36
Алексей (IdeaSoft)
Как можно в одном сообщении умудрится:
1) Нарушить правило "один вопрос - одна тема"
2) Не найти как форматировать код, если об этом написано в Правилах форума и у меня в подписи.
Это простительно новичку на форуме, но ты уже здесь три года...
Название: Re: Сравнение фрагмента кода VB и C++
Отправлено: Алексей (IdeaSoft) от 05-09-2016, 10:34:13
один вопрос - одна тема
Да это я поторопился и случайно поместил вопрос.
Нужно конечно поместить этот вопрос отдельную тему.
Название теме я бы дал

"Сравнение фрагмента кода VB и C++"

Забавно еще то, что сам задал вопрос и сам дал ответ :).

А про форматирование еще раз посмотрел видео - все теперь понятно.