Можно ли использовать с базами в памяти функции ADS?
Рассмотрим такой пример:
Используя метод AcDbDatabase::readDwgFile() прочитаем несколько чертежей в память. При помощи функции ads_entget() попробуем получить список DXF-кодов объектов. Для большинства баз эта функция вернёт NULL, хотя для некоторых вернёт правильные значения. Так можно ли безопасно использовать ADS-функции с базами в памяти и как заставить эти функции возвращать правильные значения?
Короткий ответ: НЕТ!
Некоторые ADS-функции могут работать с объектами из других баз в некоторых случаях, но это не предусмотрено. Таким образом не следует использовать в этом случае ADS-функции.
Если вы хотите работать с объектами в базах, не загруженных в редактор AutoCAD, тогда вы не можете безопасно использовать ads-функции и следовательно необходимо использовать не ads-функции, а методы в AcDb-классах.
Обсуждение: http://adn-cis.org/forum/index.php?topic=40.0
Отредактировано 06.06.2013 в 00:28:05