Solution
LabVIEW error 1097 often occurs due to an exception being passed inside the DLL that LabVIEW is unable to process. There are two main causes of this:
1. The Call Library Function Node parameter datatypes or array format are incorrectly configured.
2. Memory is being incorrectly handled by your program.
Troubleshooting steps:
- Ensure that the DLL works properly outside of LabVIEW, and that the Call Library Function Node parameter datatypes are configured to match the datatypes expected by the DLL function.
- The DLL may be designed specifically for 32-bit (or 64-bit) applications. Calling it on LabVIEW 32-bit (or 64-bit) may resolve the error.
- Error 1097 may also indicate that memory is being handled improperly by your program due to improper calling convention in your Call Library Function Node.
- The stdcall (WINAPI) convention expects that the DLL will handle memory usage, while the C calling convention expects that LabVIEW will handle memory usage. Using the stdcall (WINAPI) convention improperly can result in un-handled memory. The calling convention can be configured by double-clicking your node and changing the selection, as shown in the image below.