cancel
Showing results for 
Search instead for 
Did you mean: 

OCX's for 32- and 64-bit platforms

Former Member
0 Kudos


We are about to modernize the shipping module in a PB11.2 application. Currently we are forced to build 32-bit Win7 PCs for any station that requires a handheld Symbol scanner. This is because the Zebra virtual COM driver is not supported on 64-bit platforms. Zebra does have a pair of OCX's, one for 32-bit and one for 64-bit PCs. How then to retrofit our existing scanner window? Since we have a mix of PCs on the floor, does my development PC have to have both loaded? Do I need a separate window for each bit size and load the proper one based on the environment? Not sure how to proceed. Or am I making too much out of this?

Larry Molter

CCS Medical, Clearwater, FL

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

The 32bit OCX should work on 64bit Windows.


PB 12.6 has the ability to generate 32bit and 64bit executables. The IDE itself is 32bit so running the app directly from the IDE will use the 32bit OCX.


Your first step would be to get 12.6 and do some testing of the two OCX versions.

Former Member
0 Kudos

Thanks, Roland and Chris. I over-thinked this a bit. Here's why: Our current app is running on mostly 64-bit machines, but it is built as a 32-bit executable on an old XP 32-bit machine (long story). All our current 32-bit OCX's work fine regardless of the 'bitness' (is this a word, Chris? I like it.) of the client. So... can I just install the 32-bit drivers and OCX on my 64-bit development PC and call it a day? Sounds like a 'yes'. Will give it a go in the morning.

If trouble occurs, I will try the UO_OCX approach.

Larry

Former Member
0 Kudos

Nope. Zebra 32-bit core driver will not install itself on a 64-bit platform. InstallShield complains. The OCXs require the core driver.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Larry;

1) Yes, you need to load the correct OCX bitness depending on on the O/S's bitness. You can introspect the Environment object for this as it has a new bitness property to let you know.

2) FWIW I would encapsulate each separate OCX in its own  User Object. Then at run time, use the OpenUserObject() method to resolve the exact UO+OCX you need  based on the bitness test from #1.

Regards .... Chris

Former Member
0 Kudos

Yes, Chris, this is what I was leaning to. However, I think Roland may have a point and I'll just use the 32-bit stuff for all clients regardless of their bitness.

Former Member
0 Kudos

That could be the easier route for now if the 32bit OCX is compliant.

Bitness: Bitness dictionary definition | bitness defined

Former Member
0 Kudos

Ack. 32-bit drivers won't load on 64-bit PC. 32-bit OCX won't install if the driver is not installed.

Former Member
0 Kudos

Looks like my suggestion then might be the way to go!

Former Member
0 Kudos

Well, maybe not yet...

I found a 32-bit point-of-sale OCX from Zebra, Symbol OPOS Driver 3.31, that will load on 32- or 64-bit Windows platforms. No special drivers - just an OCX and a DLL. This should work for our USB scales, too.

Still testing, though. Don't want to get too excited.