TWICImage дает нарушение доступа при назначении

Я пытаюсь использовать класс TWICImage в C++builder для сохранения растрового изображения в памяти в файл TIFF. Однако любая попытка использовать метод Assign() для TWICImage приводит к ошибке доступа.

Например:

TBitmap* bmp = new TBitmap();
TWICImage* wic = new TWICImage();
wic->Assign( bmp );

дает нарушение прав доступа на третьей строке.


person Nigel Hawkins    schedule 22.04.2016    source источник
comment
Я не могу воспроизвести проблему. Не могли бы вы дать более подробную информацию?   -  person manlio    schedule 23.04.2016
comment
Хм. Он падает в том месте моего кода, где я пробовал, но не в новом проекте. Я рассмотрю варианты проекта.   -  person Nigel Hawkins    schedule 25.04.2016


Ответы (1)


После небольшого копания следующее дает ошибку во втором и последующих назначениях:

TBitmap* bmp = new TBitmap();
for (int i=0; i<10; ++i) {
    std::unique_ptr<TWICImage> wic( new TWICImage() );
    wic->Assign( bmp );
}

Однако, если я сделаю указатель TWICImage статическим, все будет работать так, как ожидалось. Итак, похоже, что в деструкторе TWICImage происходит что-то странное.

person Nigel Hawkins    schedule 10.05.2016