TWICImage, дающее нарушение прав доступа при назначении
Я пытаюсь использовать класс TWICImage в C++ Builder для сохранения растрового изображения в памяти в файл TIFF. Однако любая попытка использовать метод Assign() в TWICImage приводит к ошибке доступа.
Например:
TBitmap* bmp = new TBitmap();
TWICImage* wic = new TWICImage();
wic->Assign( bmp );
выдает нарушение доступа на третьей строке.
1 ответ
Решение
После еще нескольких копаний следующее дает ошибку во втором и последующих назначениях:
TBitmap* bmp = new TBitmap();
for (int i=0; i<10; ++i) {
std::unique_ptr<TWICImage> wic( new TWICImage() );
wic->Assign( bmp );
}
Однако, если я сделаю указатель TWICImage статическим, все будет работать как положено. Похоже, что в деструкторе TWICImage происходит что-то странное.