Тема: Не вставить AcDbRasterImageDef в AcDbDictionary
Здравствуйте, знатоки!
До зарезу нужно программно вставить картину в чертеж. Для этого я решил воспользоваться кодом
из SDK samples\misc\ism.
Вот фрагмент функции CustomApplication::createAcDbRasterImageDef из примера:
AcDbRasterImageDef* pAcDbRasterImageDef = new AcDbRasterImageDef; pAcDbRasterImageDef->setSourceFileName(parImagePath); pAcDbRasterImageDef->load(); DictionaryId = AcDbRasterImageDef::imageDictionary(acdbHostApplicationServices()->workingDatabase()); if (DictionaryId.asOldId() == 0) AcDbRasterImageDef::createImageDictionary(acdbHostApplicationServices()->workingDatabase(), DictionaryId); acdbOpenObject((AcDbObject*&)pDictionary, DictionaryId, AcDb::kForWrite); bNameInUse = pDictionary->has(parImageName); if (!bNameInUse) ErrorStatus = pDictionary->setAt(parImageName, pAcDbRasterImageDef, parObjectId); и т.д.
Код примера проверяю без искажений, только заменил CString'и на ACHAR'ы. И код мой миксовый.
На строке pDictionary->setAt(....) имею исключение "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
Помогите побороть проблему!
Заранее благодарен.