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

Получение указателей на объекты в транзакции


И AcTransactionManager:: getObject () и AcTransaction:: getObject () может использоваться, чтобы получить объектные указатели от объекта IDs. Указатели, таким образом полученные связаны с самой современной транзакцией. Попытка получить указатель, используя любых других операционных результатов по ошибке. Также, указатели, таким образом полученные имеют силу до транзакции они связаны с, или одна из содержащих транзакций, прерван. Когда наиболее удаленные операционные концы, изменения{*замены*} на всех имеющих силу указателях до того момента совершены{*переданы*}.

Оба из getObject () функции берут параметр типа AcDb:: OpenMode, и Вы можете получить объектный указатель для чтения, записывать, или уведомлять.

Все эти запросы преуспевают если бы не один случай: если объект уведомляет, и запрос должен получить указатель для записи (то есть с намерением изменения этого), ошибка (eWasNotifying) возвращена. Объект не должен измениться, в то время как это уведомляет другие относительно его состояния.

Если Вы используете getObject () функция, чтобы получить объектный указатель, Вы никогда не должны вызвать близко () на том объектном указателе. Запрос близко () имеет силу только, если Вы получили указатель, используя acdbOpenObject () или объект был недавно создан. Для подробной информации на том, когда Вы можете вызывать близко () на объектном указателе, см. следующие секции, “ Недавно Созданные Объекты и транзакции ” и “ Смешивание Модели Транзакции с Открытым и Близким Механизмом. ”



Содержание раздела