Application crashing when moving from CE5 to CE7

// Expert user has replied.
J John Sidwell 3 years 6 months ago
4 4 0

MC3090 -> MC32N0 Upgrade Issues
 
Background:
Our customer has software, written in .NET 3.5 Compact C#. It sends batch orders via FTP. Currently the application runs on MC3090s, and the client wants to upgrade to MC32N0 devices.
 
Problem:
On the MC32N0s the application crashes with an Access Violation to the desktop after sending 1-9 orders. This crash does not occur on the MC3090s. The crash occurs in the netcfagl.dll, and cannot be caught in the Visual Studio 2008 debugger. The crash occurs when the Order form closes and the MainMenu form is redisplayed. The MainMenu form is displayed from Application.Run(MainMenu), and it displays the Order form with a orderForm.ShowDialog() call in a using block.
 
My Investigations:
Stepping through the code, there is no obvious line of code or command that causes the crash. The crash is apparently happening somewhere in the main event loop of the MainMenu form.
 
Right now, the application launches the Motorola MSP client to check for updates after each order is sent. If I disable launching the MSP process in the background, the application will be much more stable, but not totally stable (still crashes, but takes significantly longer before crashing).
 
I checked for incorrect p-invoke calls, but all the calls used (hiding the start bar, setting the window to fullscreen) appear to release any resources they use, and I haven't found any obvious resource leaks.
 
The application uses the Rebex .NET Compact FTP/SSL library. I tried updating to the latest version, and saw no difference in stability.
 
Are there any known issues to be taken into consideration for MC32N/CE7 devices for old project migrations?

Please Register or Login to post a reply

4 Replies

A Adel Sari

Hi,
we are facing the same error, on MC3200 CE7,

any help is appreciated.

H Hao-Fan Ma

Dear All,

I faced the familiar issue now, when I back from some forms, the application exit, my form displayed through "showdialog()", have you resovled the issue?

Thanks a lot!
Max

C Christopher Sather

More info and the attached sample app we used to repro the issue.

The issue is due to the Events in Application is not getting triggered properly.

Technically Speaking , in MC 9200 when the NextGen Application's  FORM.SHOW() action upon calling is not triggering the FORM.ACTIVATED event automatically. Due to which the business logic inside the ACTIVATED function is not executed resulting this error . But the same is getting executed as expected in MC 9090.

In Order to verify if the issue is with the application or the device , I have added ACTIVATED Event call in CS_BarcodeSample1 project and tried executing it in both MC 9090 and MC 9200. I noticed the same behavior where the Activation event is not getting triggered upon calling Show/ShowDialog() in MC 9200 but is working fine in MC 9090.

So I believe there should be something to look at perspective of Win CE7 OS or Motorola Device. I have attached the Sample Project with this mail so that anyone can debug the issue. Below are the details of the change.

A new ACTIVATED event has been added in the attched sample project for ABOUT (AboutForm.cs) screen.
When ABOUT Screen is viewed, the myAbout.ShowDialog() is called to display the ABOUT screen, which will/should automatically call the ACTIVATED Event which will display the below Message box. ("About Activate Called")

The image "CS_BarcodeSample1-Working_CE5.jpg" shows what the modified sample should look like.

C Christopher Sather

John, try adding in the attached DLL and CPY file to the root of the application folder on your device.  At my customer last year we found that the "ActivatedForm" did not fire.  Our developer created a simple stand alone app to show the error and Motorola opened a case with Microsoft to patch the netcfagl.dll for us.  IT should have rolled into newer BSP's but it did not.

The SPR was 25939.

CONTACT
Can’t find what you’re looking for?