Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

IMAQ under Win XPx64 with PCIe-1433

Solved!
Go to solution

I have an IMAQ app written with VS2008 (managed C++, using PInvoke). The 32-bit version works fine. But I want to build a 64-bit version.

 

I have IMAQ 4.4.0 (March, 2010 release) installed. My framegrabber is a PCIe-1433. I'm running Windows XP Pro x64 on a BOXX Technologies machine.

 

When I build an x64 version, I get error 0xBFF60150 from imgSetBufferElement (... IMG_BUFF_ADDRESS ...). imgShowError tells me this means "The operation is not supported for 64-bit applications."

 

Does this error mean I can't make an x64 build with IMAQ under XPx64?

 

Or does it mean that one of the parameters to imgSetBufferElement (... IMG_BUFF_ADDRESS ...) is incorrect?

 

Thanks in advance.

0 Kudos
Message 1 of 3
(2,832 Views)
Solution
Accepted by jhc2

Hi jhc2,

 

If you look at the signature for imgSetBufferElement you'll see that the value paramater is defined as a uInt32. This would not be compatible with a 64-bit application since the pointer is 64 bits wide. If you take a look at the C examples included with your version of IMAQdx you can see how the replacement function imgSetBufferElement2 should be used as a replacement in new code (imgSetBufferElement should now be listed as "obselete" in the header). The new version replaces the old version of the function and is compatible with both 32-bit and 64-bit code. The syntax and parameters passed should be identical.

 

Eric

 

0 Kudos
Message 2 of 3
(2,823 Views)

Thanks, Eric. That was the problem.

0 Kudos
Message 3 of 3
(2,820 Views)