Реализация DWG Файловые Функции
Если Вы осуществляете dwgOutFields () и dwgInFields () для нового класса, Вы должны сначала вызвать assertReadEnabled () или assertWriteEnabled () чтобы гарантировать, что объект открыт в правильном состоянии.
Следующая вещь, которую ваш полученный класс должен делать, состоит в том, чтобы вызвать ту же самую функцию (например, dwgOutFields ()) на родительском классе. Этот процесс упомянут как передача сообщений высшего качества. Следующее - пример:
AcDbDerivedClass:: dwgOutFields (...);
{
AssertReadEnabled ()
MyParent:: dwgOutFields ();
// Исполнить класс - определенные операции после супер-передачи сообщений.
}
Если Вы забываете вызывать соответствующее сообщение родительского класса, вы получите ошибку во время выполнения программы.
После супер-передачи сообщений, Вы записываете или читаете поля. Вы можете улучшать выполнение, проверяя тип регистратора. Например, если тип регистратора - kIdXlateFiler, и ваш класс не определяет любые связи ссылки, Вы можете просто возвращаться.
С DWG файлами, Вы должны записывать и читать, вызывает тот же самый заказ{*порядок*}. Если запросы не соответствуют, получены, классы будут перепутаны. Если Вы имеете любые данные переменная-размера, помещаете индекс сначала.