407-248-1481

QuoteWerks Knowledgebase Topic (Article ID 6557)

API - Backend - Cannot create ActiveX component on 64-bit OS

This information applies to :

Article ID
6557

Created/Updated
May 21, 2008

Category


Are you using the most current release of QuoteWerks?
Version 24.0 Build 2
Issue:
Attempting to reference the QuoteWerks Backend API in a .Net application running on a 64-bit OS gives you the following error:

Unhandled exception has occurred in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately.

Cannot create ActiveX component.



Cause:
Per Microsoft documentation it is not currently possible to call a 32 bit dll from a 64 bit application.

Out of the box the same .Net application will execute natively in either 32 bit or 64 bit depending on the platform it's currently being run on. So by default on a 64bit OS your calling application is running in 64-bit, and thus gets an error when attempting to reference the 32 bit backend dll.



Solution:
Luckily we can force the calling .net application to execute in 32 bit mode (and thus resolving the 64bit to 32bit call issue) by making one small change in the .net Compile Options for your application.

To do this (In Visual Studio.Net 2005):

1) Bring up the "Properties" for the .net Project

2) Click the "Compile" selection on the left

3) Click the "Advanced Compile Options"

4) At the bottom of the dialog window change the Target CPU from "Any" to "x86"

5) Now simply re-build the project.

The resulting .net application should now run correctly and be able to successfully call the QuoteWerks backend dll on both 32 bit and 64 bit platforms.

New Search