I'm not 100% sure this isn't something I'm doing wrong in my own code, but I've been having a heck of a time trying to track down what is causing this.
I'm using the FlowchartX control with the GDI+ engine enabled.
Inside my applicaiton, we are using a custom ActiveX control.
I create a FlowChartX control inside that custom ActiveX control. That control is then deleted and the FlowChartX control is deleted along with it. (The ShutDown for GDI+ is called in that case and everything seems fine)
When I create my ActiveX control for a second time, it seems to create the FlowChartX control properly, startup GDI+, etc. Then I hit my first "CreateBox" invocation, and I get this exception with the following stack trace:
First-chance exception at 0x4ec9004f (GdiPlus.dll) in DataAlchemy.exe: 0xC0000005: Access violation reading location 0x03fa611c.
Unhandled exception at 0x4ec9004f (GdiPlus.dll) in DataAlchemy.exe: 0xC0000005: Access violation reading location 0x03fa611c.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GdiPlus.dll!_GdipCreateFont@20() + 0xa8 bytes FlowChartPro.dll!04fb1426() [Frames below may be incorrect and/or missing, no symbols loaded for FlowChartPro.dll] FlowChartPro.dll!04fb1adf() GdiPlus.dll!GpGraphics::GetFromHdc() + 0x47 bytes GdiPlus.dll!_GdipCreateFromHDC@8() + 0x6a bytes FlowChartPro.dll!04fb36a8() FlowChartPro.dll!05022412() FlowChartPro.dll!0502242f() FlowChartPro.dll!0502245a() FlowChartPro.dll!0502028e() FlowChartPro.dll!04fb9524() FlowChartPro.dll!0503544b() FlowChartPro.dll!04f5c550() FlowChartPro.dll!05022412() FlowChartPro.dll!0502242f() FlowChartPro.dll!0502245a() FlowChartPro.dll!0502028e() FlowChartPro.dll!04f5ce20() FlowChartPro.dll!04f611de() FlowChartPro.dll!0502242f() FlowChartPro.dll!0502245a() FlowChartPro.dll!04fa9f33() FlowChartPro.dll!05034ba6() oleaut32.dll!_DispCallFunc@32() + 0xc3 bytes oleaut32.dll!CTypeInfo2::Invoke() + 0x20c bytes FlowChartPro.dll!04f7cd18()
mfc80d.dll!COleDispatchDriver::InvokeHelperV(long dwDispID=0x00000016, unsigned short wFlags=0x0001, unsigned short vtRet=0x0009, void * pvRet=0x0012e42c, const unsigned char * pbParamInfo=0x04e838fc, char * argList=0x0012e424) Line 397 + 0x38 bytes C++ mfc80d.dll!COleControlSite::InvokeHelperV(long dwDispID=0x00000016, unsigned short wFlags=0x0001, unsigned short vtRet=0x0009, void * pvRet=0x0012e42c, const unsigned char * pbParamInfo=0x04e838fc, char * argList=0x0012e414) Line 1093 C++
mfc80d.dll!CWnd::InvokeHelper(long dwDispID=0x00000016, unsigned short wFlags=0x0001, unsigned short vtRet=0x0009, void * pvRet=0x0012e42c, const unsigned char * pbParamInfo=0x04e838fc, ...) Line 382 C++
CustomControl.ocx!FlowChart::CreateBox(long x=0x00000000, long y=0x00000000, long width=0x000001d4, long height=0x000001d4) Line 370 + 0x28 bytes C++
|