Barcode Scanning App using VB 2005 for Windows CE 5 based devices

G

Guest

Hi guys,

Recently I'm exploring opportunities to develop a barcode scanning
application for Dolphin 7600 Mobile Computer (which is a barcode scanner with
other functionalities running on Windows CE 5.0).

I wonder any of you have deal with this device before. How long would I need
to do a barcode scanning and stock taking with Excel files import/export
within the application? I have no experience in developing any application
for Windows Embedded, except for Windows Mobile 5.0. Also, I have no prior
experience in dealing with built-in scanning/imaging devices.

Need advices and guidances from all of you.

Regards,
Jenson
 
G

Guest

Hi guys,

Maybe my question is too specific. Nvm, just ignore what I said about that
device, just need your advices and suggestions on the development on Windows
CE 5.0 if possible.

Thanks.

Regards,
Jenson
 
C

Christian Resma Helle

Hi Jenson,

I've made various solutions involving bar code scanning in the past. A
problem that I encountered the first time I made such a solution was
that I was stupid enough to think that my customer would just use one
kind of device (Intermec at the time). So I used the Intermec SDK
directly in my application. At the end of the project, the customer
said that they got a really offer from Symbol and decided to go for
Symbol instead. And this gave me problems of course because I had to
change quite a lot of code, which also meant that we had to do a lot
of testing... again!

Anyway, my first advice is to create a generic bar code scanner
library that contains a generic interface and separate libraries
that implement the interface for each bar code scanner. You'll
probably end up have 2 or more bar code scanner or something like
this:

BarcodeScanner.dll ---> contains the interface
SymbolScanner.dll ---> implements the interface in BarcodeScanner.dll
IntermecScanner.dll ---> implements the interface in
BarcodeScanner.dll
..
...
.... and so on...

The way I normally create a generic library is that load a Type name
string as my interface. Let's say I called my interface
IBarcodeScanner. I'll then create a class called BarcodeReader(), in
the constructor of BarcodeReader() I load my scanner as
IBarcodeScanner and I create a property { get; } to access my scanner
instance. I would do something like:

private IBarcodeScanner instance;

public BarcodeReader(string typeName) {
Type type = Type.GetType(typeName);
if (type == null) {
throw new TypeLoadException("Unable to get type");
} else {
instance = (IBarcodeScanner)Activator.CreateInstance(type);
if (instance == null) {
throw new TypeLoadException("Unable to load type as
IBarcodeScanner");
}
}
}

public IBarcodeScanner Scanner {
get { return instance; }
}


For example we try to create the SymbolScanner.dll, we just make a new
class library project and have a reference to our BarcodeScanner
project. the main class in SymbolScanner should implement
IBarcodeScanner.

Example:

public Scanner : IBarcodeScanner {
...
..
 
D

Damien

Ooops, I forgot that you subject was about using VB.NET. I normally
code and think in C# so I instinctively typed it in C#.

Sorry about that...

Regards,
Christian Resma Hellehttp://christian-helle.blogspot.com

Hi,

I'm also developping a barcode scanning application (C#) for WinCE 5.0
on PSC Falcon 4410.

In my case, one of the main challenge is a performance one. Actually,
once WinCE, CompactFramework and SQLCe are loaded onto memory, the
memory available is really short. In order to give the better
experience to the end user, I have to do some tricky moves :
- Delaying the form displaying from the logic initialization
- Background processing
- Do a fine memory management : dont let the GC destroy the object, do
it your own; store the less objects as possible into memory
- Refactor source code : minimize function calls, reorder and refactor
Form designer generated code
- Etc.

Another challenge is the UI. I have to minimize the actions done
manually by the end user so I spend much time working ont it.
- automating the focus transfer
- navigation by shorcut
- etc.

Hope it will give you some clues.

Feel free to ask me about details ...

Bests regards.

Damien WILLIER
(e-mail address removed)
 
G

Guest

Hi Christian,

It's ok, I have some Java background, so reading it in C# should not be a
big problem to me, just that I need to digest it and think in VB way, hehe.

Thanks for the great sharing, do you mean that you create generic class for
each of the possible scanner that you are going to use, by loading the
respective DLL library depending on the parameter passed in to the class?

Currently they are getting dolphin barcode reader/scanner and they have
purchased them in bulk, but I do see your points here on catering for the
change of barcode reader, so am I right to say that you also installed the
Symbol SDK too? Is it safe to say that if both of them are using the same
model/type of scanner, I would only need one SDK?

Thank you.

Regards,
Jenson
--
:: Vision is Power ::


Christian Resma Helle said:
Hi Jenson,

I've made various solutions involving bar code scanning in the past. A
problem that I encountered the first time I made such a solution was
that I was stupid enough to think that my customer would just use one
kind of device (Intermec at the time). So I used the Intermec SDK
directly in my application. At the end of the project, the customer
said that they got a really offer from Symbol and decided to go for
Symbol instead. And this gave me problems of course because I had to
change quite a lot of code, which also meant that we had to do a lot
of testing... again!

Anyway, my first advice is to create a generic bar code scanner
library that contains a generic interface and separate libraries
that implement the interface for each bar code scanner. You'll
probably end up have 2 or more bar code scanner or something like
this:

BarcodeScanner.dll ---> contains the interface
SymbolScanner.dll ---> implements the interface in BarcodeScanner.dll
IntermecScanner.dll ---> implements the interface in
BarcodeScanner.dll
..
...
.... and so on...

The way I normally create a generic library is that load a Type name
string as my interface. Let's say I called my interface
IBarcodeScanner. I'll then create a class called BarcodeReader(), in
the constructor of BarcodeReader() I load my scanner as
IBarcodeScanner and I create a property { get; } to access my scanner
instance. I would do something like:

private IBarcodeScanner instance;

public BarcodeReader(string typeName) {
Type type = Type.GetType(typeName);
if (type == null) {
throw new TypeLoadException("Unable to get type");
} else {
instance = (IBarcodeScanner)Activator.CreateInstance(type);
if (instance == null) {
throw new TypeLoadException("Unable to load type as
IBarcodeScanner");
}
}
}

public IBarcodeScanner Scanner {
get { return instance; }
}


For example we try to create the SymbolScanner.dll, we just make a new
class library project and have a reference to our BarcodeScanner
project. the main class in SymbolScanner should implement
IBarcodeScanner.

Example:

public Scanner : IBarcodeScanner {
...
..
.
}

For using the barcode scanner, just create an instance of the
BarcodeScanner and pass the Type name of SymbolScanner (or whatever).
The type name would use the format "[NAMESPACE].[CLASS NAME],
[ASSEMBLY NAME]". Of course you should avoid hard coding the string,
put it in a Config file that you can change easily.

Something like this will around 2 days to make including complete
testing.

Good luck on your project :)


Regards,
Christian Resma Helle
http://christian-helle.blogspot.com
 
G

Guest

Hi Damien,

Nice sharing too! Now I roughly know what should I look out for when
developing such an application. I'm currently in designing state for demo.
Not really into the developing process yet. Anyway, I just find out the
scanner is using Adaptus Imaging Technology - Adaptus 5.0, is it the
technology from Handheld.com as well, or it is from another company? Hm..
wonder any of you would know.

I will try my very best to adhere to Christian and your advices, of course
any other who would like to share with me too.

I will work out the UI first, any other things to look out for (on UI)? I
would love to hear from you all =)

Thanks.

Regards,
Jenson
 
C

Christian Resma Helle

Hi Christian,

It's ok, I have some Java background, so reading it in C# should not be a
big problem to me, just that I need to digest it and think in VB way, hehe.

Thanks for the great sharing, do you mean that you create generic class for
each of the possible scanner that you are going to use, by loading the
respective DLL library depending on the parameter passed in to the class?

Currently they are getting dolphin barcode reader/scanner and they have
purchased them in bulk, but I do see your points here on catering for the
change of barcode reader, so am I right to say that you also installed the
Symbol SDK too? Is it safe to say that if both of them are using the same
model/type of scanner, I would only need one SDK?

Thank you.

Regards,
Jenson
--
:: Vision is Power ::

Christian Resma Helle said:
Hi Jenson,
I've made various solutions involving bar code scanning in the past. A
problem that I encountered the first time I made such a solution was
that I was stupid enough to think that my customer would just use one
kind of device (Intermec at the time). So I used the Intermec SDK
directly in my application. At the end of the project, the customer
said that they got a really offer from Symbol and decided to go for
Symbol instead. And this gave me problems of course because I had to
change quite a lot of code, which also meant that we had to do a lot
of testing... again!
Anyway, my first advice is to create a generic bar code scanner
library that contains a generic interface and separate libraries
that implement the interface for each bar code scanner. You'll
probably end up have 2 or more bar code scanner or something like
this:
BarcodeScanner.dll ---> contains the interface
SymbolScanner.dll ---> implements the interface in BarcodeScanner.dll
IntermecScanner.dll ---> implements the interface in
BarcodeScanner.dll
..
...
.... and so on...
The way I normally create a generic library is that load a Type name
string as my interface. Let's say I called my interface
IBarcodeScanner. I'll then create a class called BarcodeReader(), in
the constructor of BarcodeReader() I load my scanner as
IBarcodeScanner and I create a property { get; } to access my scanner
instance. I would do something like:
private IBarcodeScanner instance;
public BarcodeReader(string typeName) {
Type type = Type.GetType(typeName);
if (type == null) {
throw new TypeLoadException("Unable to get type");
} else {
instance = (IBarcodeScanner)Activator.CreateInstance(type);
if (instance == null) {
throw new TypeLoadException("Unable to load type as
IBarcodeScanner");
}
}
}
public IBarcodeScanner Scanner {
get { return instance; }
}
For example we try to create the SymbolScanner.dll, we just make a new
class library project and have a reference to our BarcodeScanner
project. the main class in SymbolScanner should implement
IBarcodeScanner.

public Scanner : IBarcodeScanner {
...
..
.
}
For using the barcode scanner, just create an instance of the
BarcodeScanner and pass the Type name of SymbolScanner (or whatever).
The type name would use the format "[NAMESPACE].[CLASS NAME],
[ASSEMBLY NAME]". Of course you should avoid hard coding the string,
put it in a Config file that you can change easily.
Something like this will around 2 days to make including complete
testing.
Good luck on your project :)

Hi Jenson,

Yes, I make a generic scanner that should work with any barcode
scanner device. I keep it as simple as possible. I have methods to
Open, Close, Scan, and I have a property for the Status, and a Scanned
event. All scanners would have those functionalities anyway.

As for installing the SDK, the first time i worked on the project i
installed all sorts of SDK's. But thats actually just for the
documentation and tutorials, you would normally just need the
libraries. For the Symbol SDK, I really only need Symbol.Barcode.dll,
Symbol.dll, and their corresponding XML documentation files. For the
Intermec SDK, you only need Intermec.DataCollection.CF2.dll. The
actual native barcode drivers are "supposed" to be on the device as
part of a factory install.

I get to play with a lot of pre-production devices, some of them
didn't have the drivers installed. It's sometime a pain, but at least
I get to see and play with these devices before anyone else :)
 
G

Guest

Hi Christian,

That sounds cool, but I suppose it requires some expertise in doing that. I
would regard myself as beginner without any knowledge on library file
manipulation. Do you knwo whether there is any tutorials available on the
Internet for such DLL file programming? I don't know the actual name for it =p

Is it sort of working with native codes? I'm bad in native code programming
:S T_T

Thanks.

Regards,
Jenson

--
:: Vision is Power ::


Christian Resma Helle said:
Hi Christian,

It's ok, I have some Java background, so reading it in C# should not be a
big problem to me, just that I need to digest it and think in VB way, hehe.

Thanks for the great sharing, do you mean that you create generic class for
each of the possible scanner that you are going to use, by loading the
respective DLL library depending on the parameter passed in to the class?

Currently they are getting dolphin barcode reader/scanner and they have
purchased them in bulk, but I do see your points here on catering for the
change of barcode reader, so am I right to say that you also installed the
Symbol SDK too? Is it safe to say that if both of them are using the same
model/type of scanner, I would only need one SDK?

Thank you.

Regards,
Jenson
--
:: Vision is Power ::

Christian Resma Helle said:
Hi Jenson,
I've made various solutions involving bar code scanning in the past. A
problem that I encountered the first time I made such a solution was
that I was stupid enough to think that my customer would just use one
kind of device (Intermec at the time). So I used the Intermec SDK
directly in my application. At the end of the project, the customer
said that they got a really offer from Symbol and decided to go for
Symbol instead. And this gave me problems of course because I had to
change quite a lot of code, which also meant that we had to do a lot
of testing... again!
Anyway, my first advice is to create a generic bar code scanner
library that contains a generic interface and separate libraries
that implement the interface for each bar code scanner. You'll
probably end up have 2 or more bar code scanner or something like
this:
BarcodeScanner.dll ---> contains the interface
SymbolScanner.dll ---> implements the interface in BarcodeScanner.dll
IntermecScanner.dll ---> implements the interface in
BarcodeScanner.dll
..
...
.... and so on...
The way I normally create a generic library is that load a Type name
string as my interface. Let's say I called my interface
IBarcodeScanner. I'll then create a class called BarcodeReader(), in
the constructor of BarcodeReader() I load my scanner as
IBarcodeScanner and I create a property { get; } to access my scanner
instance. I would do something like:
private IBarcodeScanner instance;
public BarcodeReader(string typeName) {
Type type = Type.GetType(typeName);
if (type == null) {
throw new TypeLoadException("Unable to get type");
} else {
instance = (IBarcodeScanner)Activator.CreateInstance(type);
if (instance == null) {
throw new TypeLoadException("Unable to load type as
IBarcodeScanner");
}
}
}
public IBarcodeScanner Scanner {
get { return instance; }
}
For example we try to create the SymbolScanner.dll, we just make a new
class library project and have a reference to our BarcodeScanner
project. the main class in SymbolScanner should implement
IBarcodeScanner.

public Scanner : IBarcodeScanner {
...
..
.
}
For using the barcode scanner, just create an instance of the
BarcodeScanner and pass the Type name of SymbolScanner (or whatever).
The type name would use the format "[NAMESPACE].[CLASS NAME],
[ASSEMBLY NAME]". Of course you should avoid hard coding the string,
put it in a Config file that you can change easily.
Something like this will around 2 days to make including complete
testing.
Good luck on your project :)

Hi Jenson,

Yes, I make a generic scanner that should work with any barcode
scanner device. I keep it as simple as possible. I have methods to
Open, Close, Scan, and I have a property for the Status, and a Scanned
event. All scanners would have those functionalities anyway.

As for installing the SDK, the first time i worked on the project i
installed all sorts of SDK's. But thats actually just for the
documentation and tutorials, you would normally just need the
libraries. For the Symbol SDK, I really only need Symbol.Barcode.dll,
Symbol.dll, and their corresponding XML documentation files. For the
Intermec SDK, you only need Intermec.DataCollection.CF2.dll. The
actual native barcode drivers are "supposed" to be on the device as
part of a factory install.

I get to play with a lot of pre-production devices, some of them
didn't have the drivers installed. It's sometime a pain, but at least
I get to see and play with these devices before anyone else :)
 
C

Christian Resma Helle

Hi Christian,

That sounds cool, but I suppose it requires some expertise in doing that. I
would regard myself as beginner without any knowledge on library file
manipulation. Do you knwo whether there is any tutorials available on the
Internet for such DLL file programming? I don't know the actual name for it =p

Is it sort of working with native codes? I'm bad in native code programming
:S T_T

Thanks.

Regards,
Jenson

--
:: Vision is Power ::

Christian Resma Helle said:
Hi Christian,
It's ok, I have some Java background, so reading it in C# should not be a
big problem to me, just that I need to digest it and think in VB way, hehe.
Thanks for the great sharing, do you mean that you create generic class for
each of the possible scanner that you are going to use, by loading the
respective DLL library depending on the parameter passed in to the class?
Currently they are getting dolphin barcode reader/scanner and they have
purchased them in bulk, but I do see your points here on catering for the
change of barcode reader, so am I right to say that you also installed the
Symbol SDK too? Is it safe to say that if both of them are using the same
model/type of scanner, I would only need one SDK?
Thank you.
Regards,
Jenson
--
:: Vision is Power ::
:
Hi Jenson,
I've made various solutions involving bar code scanning in the past. A
problem that I encountered the first time I made such a solution was
that I was stupid enough to think that my customer would just use one
kind of device (Intermec at the time). So I used the Intermec SDK
directly in my application. At the end of the project, the customer
said that they got a really offer from Symbol and decided to go for
Symbol instead. And this gave me problems of course because I had to
change quite a lot of code, which also meant that we had to do a lot
of testing... again!
Anyway, my first advice is to create a generic bar code scanner
library that contains a generic interface and separate libraries
that implement the interface for each bar code scanner. You'll
probably end up have 2 or more bar code scanner or something like
this:
BarcodeScanner.dll ---> contains the interface
SymbolScanner.dll ---> implements the interface in BarcodeScanner.dll
IntermecScanner.dll ---> implements the interface in
BarcodeScanner.dll
..
...
.... and so on...
The way I normally create a generic library is that load a Type name
string as my interface. Let's say I called my interface
IBarcodeScanner. I'll then create a class called BarcodeReader(), in
the constructor of BarcodeReader() I load my scanner as
IBarcodeScanner and I create a property { get; } to access my scanner
instance. I would do something like:
private IBarcodeScanner instance;
public BarcodeReader(string typeName) {
Type type = Type.GetType(typeName);
if (type == null) {
throw new TypeLoadException("Unable to get type");
} else {
instance = (IBarcodeScanner)Activator.CreateInstance(type);
if (instance == null) {
throw new TypeLoadException("Unable to load type as
IBarcodeScanner");
}
}
}
public IBarcodeScanner Scanner {
get { return instance; }
}
For example we try to create the SymbolScanner.dll, we just make a new
class library project and have a reference to our BarcodeScanner
project. the main class in SymbolScanner should implement
IBarcodeScanner.
Example:
public Scanner : IBarcodeScanner {
...
..
.
}
For using the barcode scanner, just create an instance of the
BarcodeScanner and pass the Type name of SymbolScanner (or whatever).
The type name would use the format "[NAMESPACE].[CLASS NAME],
[ASSEMBLY NAME]". Of course you should avoid hard coding the string,
put it in a Config file that you can change easily.
Something like this will around 2 days to make including complete
testing.
Good luck on your project :)
Regards,
Christian Resma Helle
http://christian-helle.blogspot.com
Hi Jenson,
Yes, I make a generic scanner that should work with any barcode
scanner device. I keep it as simple as possible. I have methods to
Open, Close, Scan, and I have a property for the Status, and a Scanned
event. All scanners would have those functionalities anyway.
As for installing the SDK, the first time i worked on the project i
installed all sorts of SDK's. But thats actually just for the
documentation and tutorials, you would normally just need the
libraries. For the Symbol SDK, I really only need Symbol.Barcode.dll,
Symbol.dll, and their corresponding XML documentation files. For the
Intermec SDK, you only need Intermec.DataCollection.CF2.dll. The
actual native barcode drivers are "supposed" to be on the device as
part of a factory install.
I get to play with a lot of pre-production devices, some of them
didn't have the drivers installed. It's sometime a pain, but at least
I get to see and play with these devices before anyone else :)

Hi Jenson,

Not much native programming for the Symbol and Intermec SDK's.
Actually, I think most barcode scanner manufacturers provide managed
code SDK's, that come with generous amounts of samples and tutorials.
Those libraries that I mentioned previously are .NETCF 2.0 class
libraries. You can just add a reference to them in your project.

Both Symbol and Intermec are quite fast in replying to their email
support. Most of the time, that is what I just used. I tried calling
them before, but I was on hold for too long. Since that was an
international call, I just gave it up. Email support works fine, most
of the time I guess...
 
D

Damien

Hi Jenson,

In my case, the UI builing was very delicate. I didn't adopt the right
method to do it.
Actually, at the begin of project, I built a demo UI and found it
quite pleasant for a end user. Then, the demo and screen shot had been
validated by directive officer and the end users and the app
developpment had continued.

Altought the UI has been validated and the needs satisfied, i didn't
see that the UI will become a real problem later.

When time comes to deploy the App, we saw that the UI was unadapted to
the warehouse job. The user takes too much time on clicking buttons,
switching input fields, navigating trough the forms,... to do their
task. So I had to rebuilt an UI more easily navigable.

The only way I found to do that is making the warehouse job during
one week and working on the UI with the end users. They give more
ideas than I could have found.
Now the UI is really reliable because :
- Users felt implicated and do a great job to improve it.
- When you do the real job that the application will support, you have
a better vision on what you're working.
- UI have been improved multiple times (iterative)

The keys of a reliable UI :
- Simple form with no too much informations on it
- Auto focus on the graphic component they need
- A central key that command the application (the "scan key" is used
to : scan barcode, validate forms, give focus to a field depending the
case)
- Navigation by shortcut (a specific key to a specific job)
- Auto completion of the input field

Here are some clues based on my modest experience. Take it and adapt
it for your own needs. I hope it will help you in your project.


Best regards.

Damien WILLIER

PS : Sorry for my english which is not very academic ;)
 
G

Guest

Hi Christian,

The Dolphin 7600 Barcode scanner is from Handheld (handheld.com) and they
come with SDK too, and I'm going to explore a bit to see whether there is any
similar stuff included as what you mentioned, because I can find no user
manual of that device, and customer claimed that they never receive any user
manual or CD included in the box, that's weird :S

Btw, I'm currently working on POS too, which is also using Barcode Scanning
device, I wonder how am I going to do both of them together since I'm just
going to start developing application for barcode scanner -.-"

Ok, now I get what you mean by library, it is those namespaces, haha, what a
dumb guy here, please pardon me for being handicapped on understanding what
you mean there >.<"

Regards,
Jenson
--
:: Vision is Power ::


Christian Resma Helle said:
Hi Christian,

That sounds cool, but I suppose it requires some expertise in doing that. I
would regard myself as beginner without any knowledge on library file
manipulation. Do you knwo whether there is any tutorials available on the
Internet for such DLL file programming? I don't know the actual name for it =p

Is it sort of working with native codes? I'm bad in native code programming
:S T_T

Thanks.

Regards,
Jenson

--
:: Vision is Power ::

Christian Resma Helle said:
Hi Christian,
It's ok, I have some Java background, so reading it in C# should not be a
big problem to me, just that I need to digest it and think in VB way, hehe.
Thanks for the great sharing, do you mean that you create generic class for
each of the possible scanner that you are going to use, by loading the
respective DLL library depending on the parameter passed in to the class?
Currently they are getting dolphin barcode reader/scanner and they have
purchased them in bulk, but I do see your points here on catering for the
change of barcode reader, so am I right to say that you also installed the
Symbol SDK too? Is it safe to say that if both of them are using the same
model/type of scanner, I would only need one SDK?
Thank you.
Regards,
Jenson
:
Hi Jenson,
I've made various solutions involving bar code scanning in the past. A
problem that I encountered the first time I made such a solution was
that I was stupid enough to think that my customer would just use one
kind of device (Intermec at the time). So I used the Intermec SDK
directly in my application. At the end of the project, the customer
said that they got a really offer from Symbol and decided to go for
Symbol instead. And this gave me problems of course because I had to
change quite a lot of code, which also meant that we had to do a lot
of testing... again!
Anyway, my first advice is to create a generic bar code scanner
library that contains a generic interface and separate libraries
that implement the interface for each bar code scanner. You'll
probably end up have 2 or more bar code scanner or something like
this:
BarcodeScanner.dll ---> contains the interface
SymbolScanner.dll ---> implements the interface in BarcodeScanner.dll
IntermecScanner.dll ---> implements the interface in
BarcodeScanner.dll
..
...
.... and so on...
The way I normally create a generic library is that load a Type name
string as my interface. Let's say I called my interface
IBarcodeScanner. I'll then create a class called BarcodeReader(), in
the constructor of BarcodeReader() I load my scanner as
IBarcodeScanner and I create a property { get; } to access my scanner
instance. I would do something like:
private IBarcodeScanner instance;
public BarcodeReader(string typeName) {
Type type = Type.GetType(typeName);
if (type == null) {
throw new TypeLoadException("Unable to get type");
} else {
instance = (IBarcodeScanner)Activator.CreateInstance(type);
if (instance == null) {
throw new TypeLoadException("Unable to load type as
IBarcodeScanner");
}
}
}
public IBarcodeScanner Scanner {
get { return instance; }
}
For example we try to create the SymbolScanner.dll, we just make a new
class library project and have a reference to our BarcodeScanner
project. the main class in SymbolScanner should implement
IBarcodeScanner.

public Scanner : IBarcodeScanner {
...
..
.
}
For using the barcode scanner, just create an instance of the
BarcodeScanner and pass the Type name of SymbolScanner (or whatever).
The type name would use the format "[NAMESPACE].[CLASS NAME],
[ASSEMBLY NAME]". Of course you should avoid hard coding the string,
put it in a Config file that you can change easily.
Something like this will around 2 days to make including complete
testing.
Good luck on your project :)
Hi Jenson,
Yes, I make a generic scanner that should work with any barcode
scanner device. I keep it as simple as possible. I have methods to
Open, Close, Scan, and I have a property for the Status, and a Scanned
event. All scanners would have those functionalities anyway.
As for installing the SDK, the first time i worked on the project i
installed all sorts of SDK's. But thats actually just for the
documentation and tutorials, you would normally just need the
libraries. For the Symbol SDK, I really only need Symbol.Barcode.dll,
Symbol.dll, and their corresponding XML documentation files. For the
Intermec SDK, you only need Intermec.DataCollection.CF2.dll. The
actual native barcode drivers are "supposed" to be on the device as
part of a factory install.
I get to play with a lot of pre-production devices, some of them
didn't have the drivers installed. It's sometime a pain, but at least
I get to see and play with these devices before anyone else :)

Hi Jenson,

Not much native programming for the Symbol and Intermec SDK's.
Actually, I think most barcode scanner manufacturers provide managed
code SDK's, that come with generous amounts of samples and tutorials.
Those libraries that I mentioned previously are .NETCF 2.0 class
libraries. You can just add a reference to them in your project.

Both Symbol and Intermec are quite fast in replying to their email
support. Most of the time, that is what I just used. I tried calling
them before, but I was on hold for too long. Since that was an
international call, I just gave it up. Email support works fine, most
of the time I guess...
 
G

Guest

Hi Damien,

It is indeed a nice experience and sharing from you. Too bad, I don't think
my company offer such "flexibility" to their employees like me. We always
need to "imagine" and try our very best to "understand" and "visualise" what
are the processes taking place at user end, and how they work and what is the
outcome, we also get the "idea" of how the system will function based on user
requirements or observing and understanding their diagrams like use case
diagrams, etc etc. I wonder how often it is the case whereby you would be
able to come out with an excellent piece of program that fits 100% in the
user requirements.

Like what you said, I think I'm also somehow worked out the user-friendly UI
which I have no idea of whether it will be easy to use and faster in daily
operation compare to the current system adopted by them.

Talking about more automation and less human interaction, I agree with you
(or do I mistaken you there?). As a user, I would like to have a system like
that too, with minumum human interactions, it's faster and easier to use, and
easier to learn too, especially for new staff.

A lot of things to consider, I'll come back and consult you guys here
whenever I'm in doubt, I will post in this thread or create a new thread if
the question is more specific than this one.

Currenly still scratching head to get the mock up version done.

Thanks guys!

Regards,
Jenson
 

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