Application freezes CF 1.1 Win CE4.2 any ideas

A

Andrew Fell-Gordon

I have developed a ticketing application running on Psion Teklogix
WorkaboutPro running under CE4.2.Net and written in
Vb.net under CF 1.1.

The application is generally working well but is subject to occasional
freezes. It stops responding to key presses or clicks on
the touch screen. These occur, from user descriptions, in situations which
are regularly used without problems. I have extensive
Try/catch error trapping in place and no errors are being caught.

One common factor from the user descriptions is that the freezes occur when
I am hiding and showing panels to change the
interface. I know that the most likely cause of freezes is attempts to
update the interface from worker threads and I have been through
the code checking for these and making sure that Invoke was used if the
interface was updated. While I use separate threads
for individual background jobs I also have a number of timers running though
none of these update the interface. I can't see where
these would affect the freeze, but I'm running out of ideas.

Apart from my VB code I have OpenNetCf' s serial library in use to write to
a bluetooth printer, though freezes have not occurred
during printing and I only create a serial port file when I start printing.
I also make use of nSoft's IPWorks FTP control. That is created
when the system is started but no FTP is going on when the freezes occur.

As the system has to be re-booted to clear the freeze I can't point to any
code involved. Is there any way that I can see where the program
is hanging when I get it back on an ActiveSync link?

Does anyone have any suggestions of things I should be checking or possible
causes?

Any help would be much appreciated.

Best regards

Andrew
 
G

Guest

1. There is no CF 1.0 - it's CF 1.0 or 2.0. I'll assume you're using 1.0
2. The most likely cause is you're affecting some UI element from a worker
thread. You must use Control.Invoke for this. To debug I'd run the app
against CF 2.0SP1 in compatibility mode. CF 2.0 throws lots more exceptions
than 1.0 did, so it's likely to tell you exactly where the error is.
 
L

Lance

1. There is no CF 1.0 - it's CF 1.0 or 2.0. I'll assume you're using 1.0
2. The most likely cause is you're affecting some UI element from a worker
thread. You must use Control.Invoke for this. To debug I'd run the app
against CF 2.0SP1 in compatibility mode. CF 2.0 throws lots more exceptions
than 1.0 did, so it's likely to tell you exactly where the error is.

Andrew, Chris is right, I see people having this problem a lot. I am
chiming in because I can tell you specifically about the /n software
FTP component: assuming you are working with the latest, you do not
need to use an invoke inside the FTP component events, the component
will handle that automatically (the same is not true for all the
ipworks components).

Lance Robinson
 
A

Andrew Fell-Gordon

Thanks very muck to both of you.

I'll try running under CF2SP1 and see what more it can tell me. It was also
very useful to know
that the nSoftware code is unlikely to be the problem.

Thanks again

Andrew
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top