views:

22

answers:

1

We have a .Net compact 3.5 application running on windows mobile 6.1 platform. We run it on Intermec CN50 PDA.

Today we encountered a weird problem. The bar code functionality stops working after we logged in our application for no reason. Even weirder, the bar code functionality will stop working with ALL other apps after this even after we quit our app and checked on task manager to make sure it's completely off.

So the bottom line is, the bar code reader works until we starts our .Net 3.5 compact app and then stop working afterward (a reboot is required to make it work again)

I am puzzled on how a normal application can 'disable' a bar code functionality even after it no longer runs.

A: 

Does this happen with any CF app (like a Hello World app) or just yours? If you app is explicitly calling the platform and telling it to turn off the barcode reader, it would certainly give the behavior you see.

ctacke
It happens only with my app. My application is unaware of bar code reader - just like it is unaware of keyboard. We are just using a textbox to receive input. You could either use the built in keyboard or use the bar code reader put in the numbers.
DodyG
Soa simple Hello World app with a textbox can receive barcodes? But your app cannot?
ctacke
Yes, a simple hello world app works. My app killed the bar code functionality. I discovered that if I disable all the 4 threads I have running, my app will receive the bar code. So I suspect one of this thread somehow steals the bar code focus. What I don't know is whether a thread can get 'stuck' outside its owner process. Right now it looks like the thread keeps consuming the focus of the bar codes even after I kill the application.
DodyG
We have isolated the problem to the GPS functionality. It seems that activating the GPS via our library disables the bar code reader. I have a single line application that activate the GPS and the device will be affected. Right now I am trying to figure out whether our lib cause this problem or the GPS device driver is faulty.
DodyG