0

我正在尝试使用 C++builder 中的 TWICImage 类将内存中的位图保存到 TIFF 文件。但是,任何尝试在 TWICImage 上使用 Assign() 方法都会导致访问错误。

例如:

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

在第三行给出访问冲突。

4

1 回答 1

0

经过更多的挖掘,以下给出了第二个和后续分配的错误:

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

但是,如果我将 TWICImage 指针设为静态,则一切都会按预期工作。所以看起来 TWICImage 析构函数中发生了一些奇怪的事情。

于 2016-05-10T12:43:43.847 回答