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 происходит что-то странное.

Другие вопросы по тегам