May 25, 2008 Re: global static pointer variable in DLL | ||||
---|---|---|---|---|
| ||||
torhu Wrote: > Zarathustra wrote: > > > > Oh, I find out something. > > The most crashes occur in similar calls (in DLL) like following: > > ________________________________________________________ > > offs += fprintf(gl2ps->stream, "%%PDF-1.4\n"); > > ________________________________________________________ > > it looks like DLL haven't got access to FILE(gl2ps->stream), but why? > > The FILE is operand of gl2psBeginPage. > > Call of gl2psBeginPage function in my D code is in following function: > > ________________________________________________________ > > extern (C) void > > SaveFile(){ > > FILE* fp; > > int state = GL2PS_OVERFLOW; > > int buffsize = 0; > > > > try{ > > fp = fopen("out.pdf", "wb"); > > while(state == GL2PS_OVERFLOW){ > > buffsize += 1024*1024; > > > > gl2psBeginPage( > > "test", > > "gl2psTestSimple", > > null, > > GL2PS_PDF, > > GL2PS_SIMPLE_SORT, > > GL2PS_DRAW_BACKGROUND | GL2PS_USE_CURRENT_VIEWPORT, > > GL_RGBA, > > 0, > > null, > > 0, > > 0, > > 0, > > buffsize, > > fp, > > "out.pdf" > > ); > > > > RenderFrame(); > > state = gl2psEndPage(); > > } > > fclose(fp); > > MessageBoxA(null, "File saved", "Information", MB_OK | MB_ICONINFORMATION); > > } > > catch(Object o){ > > MessageBoxA(null, cast(char*)o.toString(), "Critical Error", MB_OK | MB_ICONERROR); > > } > > } > > ________________________________________________________ > > exactly: gl2ps->stream = fp; > > > > Have you tried debugging this code with ddbg, and checked what the actual values of gl2ps and gl2ps->stream are when it crashes? > > http://ddbg.mainia.de/ I converted all gl2ps code to d and then started debugging with ddbg. I have got a problem with allocating memory. I have got the following code: if(gl2ps.bgcolor is cast(GL2PSrgba*)null){ gl2ps.bgcolor = cast(GL2PSrgba*)malloc(GL2PSrgba.sizeof); } and error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION(0xc0000005) at ?Alloc@RTLPool@@QAEPAXXZ (0x0042e8a9) thread(5368) I don't know what does it mean. |
Copyright © 1999-2021 by the D Language Foundation