LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to compile code in 64-bit that calls a 32-bit SubVI?

I don't know if there is another way of calling 32 bit code inside a 64 bit process, but I can't say I studied the issue. I'm fairly sure the process you described should work, as I seem to recall doing it between executables and even across machines to RT targets and across different LV versions.

 

I would suggest doing it in stages and trying to get as much info about what's happening as possible. For example:

  • Start with a simplified example with minimal dependencies.
  • See if it works when running in LV.
  • See if it works from LV 32 bit to the 32 bit EXE.
  • See if it works inside the same executable (and then you don't need to open the application reference).
  • Make sure you have error indicators.
  • Use property nodes on the application reference to make sure you connected to the correct application (two processes shouldn't be listening on the same port).
  • Open the FP of the VI inside the 32 bit EXE to see what happens with it.

If at some point you have something working and then it doesn't work at the next stage, you know you did something to break it.


___________________
Try to take over the world!
0 Kudos
Message 11 of 13
(343 Views)

I did a presentation last November on Network Streams.  One of the demos I did was calling a 32 bit DLL from a 64 bit LabVIEW, using a 32 bit LabVIEW in between.  It might be an overly complicated demo, but it might give you some options or ideas on how to do this.

 

https://youtu.be/NMYbTlsNlpk?t=1758

 

I agree with others that you can try things on a smaller scale first.

0 Kudos
Message 12 of 13
(326 Views)

Thank you everyone!

0 Kudos
Message 13 of 13
(318 Views)