Hi. Posted this message in some other places already, but just to increase the "coverage" so as to get earlier responses, so I decided to post it in many places. Hope that is fine. See if I can get any help as we are running out of ideas and we are way pass our project deadline! Any help will be appreciated.
I am working on a project that works with a CE.Net 4.10 (build 908) embedded device based on the StrongARM CPU (not sure what speed and exact specs). We ported an ATL ActiveX full control which performs
intensive drawing operations onto the ActiveX window area using GDI (not GDI+) API functions such as Polyline, Polygon, Rectangle, etc. The data to
be draw are loaded from an external data file.
We have been previously successful in porting our ActiveX control onto many different platforms, PocketPC, PPC2002, PC2003, Win32 Desktop, AMD Geode-based CE.Net 4.10 embedded device, etc. However this time, we encountered a peculiar issue.
Without modification to the ActiveX, when we ran the appln, the program will hang somewhat consistently at the Polyline function. By "hang", I mean the device stop responding and my EVC 4.0 (SP3) debugger on the desktop (Win2k SP4) received a 0xBADCAB1E program exit code and the ActiveSync (3.7.1, build 4034) connection (serial 115200bps) was broken. Then we have to reset the device and start over again.
We have checked almost all possibilities, namely NULL pointers, cable connections, memory access violations, memory leaks, GDI resource leaks, Polyline limitations (any maximum no of points or size the function cannot handle, etc), testing our ActiveX on our other platforms with same input data files, etc.... Up till now we have no concrete conclusion as to what had caused the hang and thus we could not effectively come up with a solution to handle that issue.
We tried splitting up the input array of POINTs to the Polyline function in case it can't handle too large a data set. However, we would then find the same problem occurring at drawing other lines. The
function can hang even with only 17 points, which becomes too ridiculous to split further.
Does anyone have encountered similar issues or have any idea where the problem might lie? We suspect the problem lies with bugs in the OS or the hardware. We have asked the device supplier but they stated that
the OS was ok. Also, I have come across discussions about the "StrongARM K bug" but none had clearly state what that bug is about. Can anyone tell me what is that and could that be the problem?
Pls help as we need to rush this important project. Many thanks.