Тема: Wblock и Civil2008

Здравствуйте :)
Подскажите, пожалуйста, в чем тут дело. Есть код:

  AcDbDatabase *pDB = acdbHostApplicationServices()->workingDatabase();
  es = pDB->wblock(pTempDb, list, begPoint);

Прекрасно работает на всех версиях AutoCAD и Civil, от только кроме Civil 2008. Фаталит на второй строке и все :(

Что такого специфичного в этой версии Civil и как с этим бороться?
П.С. Это уже, кстати, не первая моя неприятность с Civil 2008: в нем ужасно работать с многострочными атрибутами блоков, неприятности с полилиниями и т.д. Подскажите, чем он так сильно отличается от всех последующих версий, в т.ч. и версий простого када?

(изменено: Александр Ривилис, 4 июля 2011г. 22:51:02)

Re: Wblock и Civil2008

Savka Antonina пишет:

Что такого специфичного в этой версии Civil и как с этим бороться?

Savka Antonina пишет:

Подскажите, чем он так сильно отличается от всех последующих версий, в т.ч. и версий простого када?

Я правильно понял, что во всех последующих версиях Civil 3D указанная ошибка не возникает?
Установлены ли обновления на Civil3D 2008? В частности SP2?
Вообще-то Civil 3D очень "насыщен" реакторами, которые возможно в некоторых случаях и приводят к таким результатам.
P.S.: И еще:
1. Попробуй переключить workingDatabase на pTempDb перед wblock и вернуть обратно после этого.
2. Все ли объекты в list закрыты перед операцией wblock?
3. Попробуй использовать эту версию wblock:

Acad::ErrorStatus wblock(AcDbDatabase* pOutputDb, const AcDbObjectIdArray& outObjIds, const AcGePoint3d& basePoint,AcDb::DuplicateRecordCloning drc);

4. Если и это не поможет, попробуй тоже самое проделать через wblockCloneObjects

Re: Wblock и Civil2008

Спасибо. В принципе помог вариант с переключением workingDatabase, но кроме этого еще использовала wblockCloneObjects - как-то с ним попроще получается :)