Deploying a VB6 app using COM

Legacy support with Phidget21
Jim Mack
Fresh meat
Posts: 3
Joined: Mon Sep 02, 2013 6:26 pm

Deploying a VB6 app using COM

Postby Jim Mack » Mon Sep 02, 2013 6:52 pm

I've written an app in VB6 using an 8/8/8 board. It works well on the dev box, but I don't seem to be able to roll it out to any box that doesn't already have the whole Phidget shebang installed.

Dev machine is Win7/64 Pro, targets are Win7/64 Home Premium. AFAIK all are up to date with patches etc. I use Inno Setup to install and register the bits. I followed the published guidelines for coding against COM.

Phidget21.dll and Phidget21COM.dll are in the app directory, and correctly registered -- I can see all the entries in HKCR/Classes etc. But the app fails on load because it can't create the PhidgetInterfaceKit object.

Using Dependency Walker, I can see that my app tries to load the COM DLL but fails like this (from depends):

Code: Select all

LoadLibraryExA("d:\program files (x86)\bun player\Phidget21COM.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: %1 is not a valid Win32 application (193).

Which sounds nuts. The same everything runs fine on the dev box.

Profiling just the COM DLL, I see these:

Code: Select all

Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.

There's no clue as to what 'implicitly dependent module' has the missing export.

Code: Select all

Error: Modules with different CPU types were found.

The second error seems to gibe with the "not a valid Win32 application" message.

Any clues?

FWIW I've tried every permutation for instantiating the interface, both with and without a Reference and a Component, using 'as new phidgetinterfacekit' and 'controls.add', etc. All methods fail identically as above. The problem is clearly not in the VB6 code.

Return to “VB 6.0”

Who is online

Users browsing this forum: No registered users and 0 guests