ObjectARX, AutoCAD. Среда программирования библиотеки C++




Всегда имейте текущую базу данных - часть 2


// Делать "сначала" текущую базу данных.

AcDbDatabase *pDbFirst = new AcDbDatabase(Adesk::kFalse);

pDbFirst->readDwgFile("first.dwg");

// Теперь заставите "секунду" быть текущая база данных.

AcDbDatabase *pDbSecond = new AcDbDatabase(Adesk::kFalse);

pDbSecond->readDwgFile("second.dwg");

 // Вставить "секунду" в "первый" как ABLOCK.

Acad::ErrorStatus es;

AcDbObjectId blockId;

es = pDbFirst->insert(blockId, "ABLOCK", pDbSecond);

// Удаление "секунды" делает текущую базу данных NULL.

delete

pDbSecond;

// Делать текущую базу данных "сначала" снова.

 myHostServices->setWorkingDatabase(pDbFirst);

Удалите все AcDbDatabases

при выходе из  приложения

Всегда удалите все базы данных перед переходом к вашему приложению. Кроме порождения утечки памяти в вашем приложении, отказ удалять все базы данных может приводить к фатальной ошибке на закрытии. Пожалуйста также см. следующую секцию, “ AcDbDatabase::insert(), ” относительно специальных соображений разрушения для вставленных баз данных.




Содержание  Назад  Вперед