Estou fazendo um teste com uma biblioteca de PDF, mas está ocorrendo um erro que não consegui entender o porquê.
Quando utilizo um determinado recurso a biblioteca ( que é uma DLL ) aloca um array em um ponteiro
private:
double* pointer;
e em um método aloca um array neste ponteiro
No destrutor desta classe a biblioteca desaloca este array
Mas isto está causando o seguinte erro:
<blockquote> ntdll.dll!7c962364()
kernel32.dll!7c85eb5f()
> msvcr71d.dll!_CrtIsValidHeapPointer(const void * pUserData=0x009d3ca0) Line 1807 C
msvcr71d.dll!_free_dbg_lk(void * pUserData=0x009d3ca0, int nBlockUse=1) Line 1132 + 0x9 C
msvcr71d.dll!_free_dbg(void * pUserData=0x009d3ca0, int nBlockUse=1) Line 1070 + 0xd C
msvcr71d.dll!operator delete(void * pUserData=0x009d3ca0) Line 54 + 0x10 C++
msvcr71d.dll!operator delete[](void * p=0x009d3ca0) Line 21 + 0x9 C++
podofo.dll!PoDoFo::PdfTable::~PdfTable() Line 91 + 0x12 C++
009d3ca0()
Teste.exe!createTable2(PoDoFo::PdfPainter * pPainter=0x0012fbe4, PoDoFo::PdfFont * pFont=0x00a98470, double pageSize=595.00000000000000) Line 101 + 0x1e C++
Teste.exe!PPP(const char * pszFilename=0x00451880) Line 562 + 0x1f C++</blockquote>
Estou utilizando o Visual Studio .Net 2003 com windows XP, compilei a biblioteca com o mesmo.