LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

exception in external code called by call library node - only in standalone executable

System: Windows XP and LabVIEW 7.1
 
Problem: "Exception in external code called by call library node" error. Error does not occur when running in dev environment, only when running standalone executable. All necessary support files are included. Other functions called in different .dll files work without issue in both dev environment and standalone executable. The functions in the .dll that is giving errors are very simple, and I can't see where they would throw an exception. Thanks in advance for any help.
0 Kudos
Message 1 of 8
(3,284 Views)
Anybody have an idea? I'm pretty lost on this one.
0 Kudos
Message 2 of 8
(3,267 Views)
What's the dll? Is this one you created and have you verified that it's installed in the Data folder after you do the installation? Could it be possible that the dll requires other dlls? I've had to use the dependency checker in Visual C++ to see what other dlls might need to be installed as well. What does the dll do and what kind of data is getting passed to it. If you are doing anything with paths, path information changes when you create an exe.
Message 3 of 8
(3,263 Views)
Thanks for the reply.
 
The dll is one that a co-worker created, and yes I've verified its presence in the data folder after installation. I will check again to see if it requires any other files that I forgot to include, but I think I included them all. The dll simply turns pins on a parallel port on and off. The functions don't take any values. I could remove the calls and use LabVIEW to communicate directly with the parallel port, but we'd rather call the dll in case we need to make changes so we don't have to rebuild the vi. I'm not entirely sure what you mean by the paths thing, are you talking about file paths?
 
Thanks again.
0 Kudos
Message 4 of 8
(3,260 Views)
Yes, I'm talking about file paths but it sounds like that doesn't apply. There are ways to create LabVIEW applications that allow to you swap various pieces in and out without having to rebuild the exe. In the future, you might want to look at the shipping example about plug-ins. If all you are doing is controlling the parallel port, you also want to make sure that the parallel port on the other pc is configured the same as your development pc.
0 Kudos
Message 5 of 8
(3,253 Views)

I haven't tried the standalone executable on another PC yet, I'm getting this error on the development PC. I'm going to go make sure I have all the support files included and try to rebuild. I'll also look into that plugin information.

Message Edited by Sobriquet on 06-22-2006 01:59 PM

0 Kudos
Message 6 of 8
(3,251 Views)
I didn't realize that you were getting the problem on the same pc. Is the development VI calling the dll from the windows system32 folder? You could try removing the dll in the data folder. Could another application also be using the dll at the same time?
0 Kudos
Message 7 of 8
(3,242 Views)
OK it looks like I've figured it out. Your question about "is it searching for the dll in the windows dir" led me to move around the dll in question (pportfxns.dll) as well as the dll it depends on (inpout32.dll). It turns out that the program runs without a hitch as long as inpout32.dll is anywhere on the computer except the data folder of the installation. I changed my installer to put that file in the C:\WINDOWS\system32 directory and everything seems to work. Kind of a weird problem in my eyes. Thanks for the suggestions!
0 Kudos
Message 8 of 8
(3,232 Views)