<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Missing external function in third party .dll in LabVIEW</title>
    <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251692#M1237154</link>
    <description>&lt;P&gt;This specific problem is now solved.&amp;nbsp; Copying over the additional .dll files that were included in the Tektronix API into the data directory made it run on both the target and development machines.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks again for all input.&lt;/P&gt;</description>
    <pubDate>Thu, 25 Aug 2022 22:25:05 GMT</pubDate>
    <dc:creator>HotDang</dc:creator>
    <dc:date>2022-08-25T22:25:05Z</dc:date>
    <item>
      <title>Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250604#M1236702</link>
      <description>&lt;P&gt;I am trying to build an application to talk to the Tektronix RSA306B USB spectrum analyser.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It supposedly had a Labview driver that came with it, but it was nothing more than instructions on how to build the library from the supplied API, i.e. their third party RSA_API.dll file.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I've built a library, and built a VI that can talk to and get data off the spectrum analyser by calling the library functions, but when I try to deploy it of my development machine (Win 10) it all goes wrong.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've built an executable (LV runtime is already installed and can run other built executables), I've built an installer multiple times with different settings, but I always get the same result - a broken run arrow and the list of all the functions from the API, for example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Missing External Function RSA_API.dll:&lt;EM&gt;DeviceSearch&lt;/EM&gt;:C in RSA_API.lvlib:&lt;EM&gt;DEVICE search&lt;/EM&gt;.vi&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The .dll is definitely in the \data directory.&amp;nbsp; I've run out of ideas as to what I'm missing.&amp;nbsp; Is there a way to set a path variable somehow?&lt;/P&gt;</description>
      <pubDate>Mon, 22 Aug 2022 07:00:58 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250604#M1236702</guid>
      <dc:creator>HotDang</dc:creator>
      <dc:date>2022-08-22T07:00:58Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250630#M1236713</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/698213"&gt;@HotDang&lt;/a&gt;&amp;nbsp;wrote:
&lt;P&gt;The .dll is definitely in the \data directory.&amp;nbsp; I've run out of ideas as to what I'm missing.&amp;nbsp; Is there a way to set a path variable somehow?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;There is, but it won't help much. \data (presuming it's under the exe) is searched by the exe, just like all sub directories of the exe's path.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/698213"&gt;@HotDang&lt;/a&gt;&amp;nbsp;wrote:
&lt;P&gt;So I've built a library, and built a VI that can talk to and get data off the spectrum analyser by calling the library functions, but when I try to deploy it of my development machine (Win 10) it all goes wrong.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Does that mean the installed exe works on the development machine?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It sounds like&amp;nbsp;&lt;SPAN&gt;RSA_API.dll has&lt;/SPAN&gt; a dependency that's missing. Could be something low level as a c runtime dll...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You could try something like&amp;nbsp;&lt;A href="https://dependencywalker.com/" target="_blank"&gt;Dependency Walker&lt;/A&gt;&amp;nbsp;to check the dll's dependencies. See if there's one missing on the non-development PC.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 22 Aug 2022 09:05:48 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250630#M1236713</guid>
      <dc:creator>wiebe@CARYA</dc:creator>
      <dc:date>2022-08-22T09:05:48Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250904#M1236853</link>
      <description>&lt;P&gt;Thank you for your response.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Didn't think to try running the .exe on the development machine.&amp;nbsp; And no, it doesn't run, it has the same issue &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;However, that makes my testing cycle much quicker, I can just test on the dev machine rather than have to copy it over to the target machine every time &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tried the dependency walker on the development machine, and couldn't even see where my executable calls that .dll.&amp;nbsp; Strange.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm wondering if it has something to do with the source file settings for the dependencies?&amp;nbsp; I've tried multiple combinations without success.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That said, I'm not building an installer at the moment, just an exe.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HotDang_0-1661239148955.png" style="width: 400px;"&gt;&lt;img src="https://ip1.i.lithium.com/2d601ebb64663737aaa360bdf9389b14323c778d/68747470733a2f2f6e692e6c69746869756d2e636f6d2f74352f696d6167652f736572766572706167652f696d6167652d69642f33303731363369353737333143334138343035323038322f696d6167652d73697a652f6d656469756d3f763d76322670783d343030" role="button" title="HotDang_0-1661239148955.png" alt="HotDang_0-1661239148955.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HotDang_1-1661239209340.png" style="width: 400px;"&gt;&lt;img src="https://ip1.i.lithium.com/cc83977c0f8133394c764618a7b15a84de46edcb/68747470733a2f2f6e692e6c69746869756d2e636f6d2f74352f696d6167652f736572766572706167652f696d6167652d69642f33303731363469453433443038444338464142423944422f696d6167652d73697a652f6d656469756d3f763d76322670783d343030" role="button" title="HotDang_1-1661239209340.png" alt="HotDang_1-1661239209340.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 23 Aug 2022 07:25:11 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250904#M1236853</guid>
      <dc:creator>HotDang</dc:creator>
      <dc:date>2022-08-23T07:25:11Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250906#M1236854</link>
      <description>&lt;P&gt;Could it possibly be a 32/64 bit issue?&amp;nbsp; I'm compiling with a 32 bit environment and the dll was from the x86 directory.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, I've just downloaded the new 2022 Q3 version, and trying with that but same issues.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Aug 2022 07:31:23 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250906#M1236854</guid>
      <dc:creator>HotDang</dc:creator>
      <dc:date>2022-08-23T07:31:23Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250908#M1236855</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/698213"&gt;@HotDang&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tried the dependency walker on the development machine, and couldn't even see where my executable calls that .dll.&amp;nbsp; Strange.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Dependency Walker can't see the dependencies you add in your code through the Call Library Node (and several others that LabVIEW loads dynamically to) of a LabVIEW executable. That is because LabVIEW has to link to the external libraries explicitly by calling LoadLibrary(), not through some import link library that adds the imports to the executable image.&amp;nbsp;If it would use static linked import libraries for everything you couldn't even startup the executable if even a single of those DLLs doesn't exist on the system, even if it is never executed.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You need to check the DLL itself in Dependency Walker. That will tell you if the system can't find a specific DLL that your main DLL depends on. My guess is that there are other DLLs that it depends on and that you have in your project directory alongside the main DLL when you run in the development environment. LabVIEW doesn't know about these dependencies and shouldn't even want to know. Such trickery would only result in even more obscure problems. What LabVIEW does when you run your VI from within a project is to register the project directory as extra directory for Windows to search for additional DLLs. This is since it would be very bad practice to have to copy such DLLs into the LabVIEW.exe directory. This locations should be considered read only at all times.&lt;/P&gt;
&lt;P&gt;When you build an executable there is no such project directory anymore. LabVIEW by default puts all the DLL dependencies it knows about (because they are referenced from inside a Call Library Node) into the data directory. The extra dependencies it doesn't know about and you have to make sure yourself that they are findable by Windows. There are a few specific locations that Windows will search and the first of all them is the directory in which the executable is located that started the current process. Not the data subdirectory that LabVIEW by default uses to put support files into!&lt;/P&gt;
&lt;P&gt;You can leave the directly referenced DLLs in the data subdirectory but you have to copy the additional dependencies into the same directory that your exe is placed into. And you can easily let the exe Builder step do that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) Create a folder in your project where you add all these DLLs&lt;/P&gt;
&lt;P&gt;2) Create a destination in the Build script that is for instance called Dependencies and point it to the main directory where your executable is placed too&lt;/P&gt;
&lt;P&gt;3) Add this Dependency folder as Always Included to the build instructions&lt;/P&gt;
&lt;P&gt;4) Build your executable&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now you should have those additional DLLs present in the executable directory. If you want to get fancy you can also start customizing the default support folder and remove the LabVIEW found DLLs from it and add them to the Dependency folder too. It's cleaner to put all depending DLLs of your executable into this folder but not required. LabVIEW remembers the location where it build the DLLs into and adapts during build the paths in the Call Library Nodes to point to that relative path.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Aug 2022 07:58:08 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250908#M1236855</guid>
      <dc:creator>rolfk</dc:creator>
      <dc:date>2022-08-23T07:58:08Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250910#M1236856</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/698213"&gt;@HotDang&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Could it possibly be a 32/64 bit issue?&amp;nbsp; I'm compiling with a 32 bit environment and the dll was from the x86 directory.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, I've just downloaded the new 2022 Q3 version, and trying with that but same issues.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If this isn't a problem in development, it shouldn't be a problem in the exe.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Since you run the exe (after a copy? from a network?), maybe double check if the dll is unblocked:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.quali.com/articles/2726/dll-file-wont-load-how-to-unblock-a-dll-file#:~:text=there%20are%20two%20ways%20to%20unblock%20the%20dll,%5B-d%5D%20%3Cfile%20or%20directory%3E-s%20Recurse%20subdirectories.-d%20Delete%20streams." target="_blank" rel="noopener"&gt;.dll file won't load - How to unblock a dll file? - CloudShell Community (quali.com)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I doubt that this is the problem. The dll seems to load, somehow LV doesn't see the functions...&lt;/P&gt;</description>
      <pubDate>Tue, 23 Aug 2022 08:15:27 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250910#M1236856</guid>
      <dc:creator>wiebe@CARYA</dc:creator>
      <dc:date>2022-08-23T08:15:27Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250919#M1236858</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/4177"&gt;wiebe@CARYA&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I doubt that this is the problem. The dll seems to load, somehow LV doesn't see the functions...&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Well Windows for some reasons refuses to load the DLL. And the most common reason is that it can't resolve a dependency. In a long ago past LabVIEW tried to make the error message more specific by trying to load the DLL as a data file if Windows refused to load it. This was to distinguish between if the DLL file itself was not present or if loading failed because of some unresolved dependencies. For some reason this was removed at some point and the error message was generalized to say that the DLL or one of its dependencies couldn't be found. I assume this was because with different Windows versions such specific error handling got difficult to manage consistently and rather than trying to figure out how to make this detection more version resilient, it was simply removed as any algorithme that may have worked with a new Windows version could have been rendered useless with the next Windows release or even security update. To rely on specific behaviour that isn't explicitly documented by Microsoft for a specific function is always a tricky endeavor and a source of potential confusion.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Aug 2022 08:55:52 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250919#M1236858</guid>
      <dc:creator>rolfk</dc:creator>
      <dc:date>2022-08-23T08:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250966#M1236875</link>
      <description>&lt;P&gt;Hi Rolf,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much for your detailed explanation.&amp;nbsp; I think I (or rather you!)&amp;nbsp; have found the problem.&amp;nbsp; There were several other Tektronix DLLs that were alongside the RSA_API.dll.&amp;nbsp; Copying those into the data directory seems to have fixed it on the dev machine, looking forward to seeing if that makes it go on the target.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Daniel.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Aug 2022 12:37:23 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250966#M1236875</guid>
      <dc:creator>HotDang</dc:creator>
      <dc:date>2022-08-23T12:37:23Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250997#M1236886</link>
      <description>&lt;P&gt;If the Tektronix DLL does some custom handling of its own to look for the dependent DLLs in the same directory than itself this can work. But the "data" directory is not generally a directory that Windows would know about at all and hence would not search on its own. So unless something changed in a recent LabVIEW version where the runtime would add this data directory explicitly as additional search path to the Windows search paths, I would recommend to generally place those dependent DLLs in the same directory as the exe file. This is a standard Windows search location so will always be found in there independent of custom DLL handling in loading its own dependencies or used LabVIEW version.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Aug 2022 13:22:33 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4250997#M1236886</guid>
      <dc:creator>rolfk</dc:creator>
      <dc:date>2022-08-23T13:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251070#M1236916</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/6528"&gt;@rolfk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/4177"&gt;wiebe@CARYA&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I doubt that this is the problem. The dll seems to load, somehow LV doesn't see the functions...&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Well Windows for some reasons refuses to load the DLL.&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;But it loads the dll, it can't find the exported functions.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;When a dll can't be loaded, you usually get another error.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Aug 2022 16:08:46 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251070#M1236916</guid>
      <dc:creator>wiebe@CARYA</dc:creator>
      <dc:date>2022-08-23T16:08:46Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251147#M1236954</link>
      <description>&lt;P&gt;There was some change in how errors get reported in one of the more recent LabVIEW versions, but the messages in the error dialog are the same when the loading of the DLL fails because dependencies can't be resolved.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Aug 2022 20:18:49 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251147#M1236954</guid>
      <dc:creator>rolfk</dc:creator>
      <dc:date>2022-08-23T20:18:49Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251221#M1236979</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/6528"&gt;@rolfk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;There was some change in how errors get reported in one of the more recent LabVIEW versions, but the messages in the error dialog are the same when the loading of the DLL fails because dependencies can't be resolved.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Sad to hear it changed, as the messages are quite cryptic. Recollection of a message from prior experience was pretty much the only way to know what was going on (or not going on).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wander if there's more information when you press the run button. IIRC, This used to give just a tiny bit more to go on.&lt;/P&gt;</description>
      <pubDate>Wed, 24 Aug 2022 08:15:22 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251221#M1236979</guid>
      <dc:creator>wiebe@CARYA</dc:creator>
      <dc:date>2022-08-24T08:15:22Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251261#M1236999</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/4177"&gt;wiebe@CARYA&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/6528"&gt;@rolfk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;There was some change in how errors get reported in one of the more recent LabVIEW versions, but the messages in the error dialog are the same when the loading of the DLL fails because dependencies can't be resolved.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Sad to hear it changed, as the messages are quite cryptic. Recollection of a message from prior experience was pretty much the only way to know what was going on (or not going on).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wander if there's more information when you press the run button. IIRC, This used to give just a tiny bit more to go on.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Not sure what you mean. Since the loading of the DLL failed (and therefore the linking to the individual functions in that unloaded DLL) the run arrow is broken and you can't run anything. I would guess you simply get the same error list dialog again when you click the (broken) run button. As to if it is more or less useful than before that is definitely debatable. Before it simply told you that a specific DLL couldn't be loaded because it or one of its dependencies couldn't be found, now it gives you a list with an entry for each Call Library Node import with the &amp;lt;shared ;ibrary name&amp;gt;:&amp;lt;function name&amp;gt; that it couldn't find. General notion would be if there is one or a few imports that it couldn't link to then the DLL probably is present but might be a different version that doesn't export those specific functions, but if you get a ton of error messages for the same shared library (or at least an error for every Call Library Node for a specific shared library), something with the shared library itself is amiss.&lt;/P&gt;</description>
      <pubDate>Wed, 24 Aug 2022 11:39:44 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251261#M1236999</guid>
      <dc:creator>rolfk</dc:creator>
      <dc:date>2022-08-24T11:39:44Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251453#M1237071</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/6528"&gt;@rolfk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/4177"&gt;wiebe@CARYA&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/6528"&gt;@rolfk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;There was some change in how errors get reported in one of the more recent LabVIEW versions, but the messages in the error dialog are the same when the loading of the DLL fails because dependencies can't be resolved.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Sad to hear it changed, as the messages are quite cryptic. Recollection of a message from prior experience was pretty much the only way to know what was going on (or not going on).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wander if there's more information when you press the run button. IIRC, This used to give just a tiny bit more to go on.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Not sure what you mean. Since the loading of the DLL failed (and therefore the linking to the individual functions in that unloaded DLL) the run arrow is broken and you can't run anything. I would guess you simply get the same error list dialog again when you click the (broken) run button. As to if it is more or less useful than before that is definitely debatable. Before it simply told you that a specific DLL couldn't be loaded because it or one of its dependencies couldn't be found, now it gives you a list with an entry for each Call Library Node import with the &amp;lt;shared ;ibrary name&amp;gt;:&amp;lt;function name&amp;gt; that it couldn't find.&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;In the past, you'd get a general error popup when the exe loaded, and when pressing the broken run dialog, you would get more details on the exact VIs that where broken. It didn't used to be the same dialog. The run button used to specify exactly which VIs caused the main to be broken.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As it seems to be now, pressing the broken run button might not add anything.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To me, there's a difference between dll couldn't load (wrong bitness, path not found, etc.) and function not found (wrong version)... If that became the same message, there is a loss of information.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Anyway, I think we need to see actual code, dlls and exes. Something completely different might be wrong here. For instance, perhaps the CFNL has an external path specifier?&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2022 07:56:16 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251453#M1237071</guid>
      <dc:creator>wiebe@CARYA</dc:creator>
      <dc:date>2022-08-25T07:56:16Z</dc:date>
    </item>
    <item>
      <title>Re: Missing external function in third party .dll</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251692#M1237154</link>
      <description>&lt;P&gt;This specific problem is now solved.&amp;nbsp; Copying over the additional .dll files that were included in the Tektronix API into the data directory made it run on both the target and development machines.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks again for all input.&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2022 22:25:05 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Missing-external-function-in-third-party-dll/m-p/4251692#M1237154</guid>
      <dc:creator>HotDang</dc:creator>
      <dc:date>2022-08-25T22:25:05Z</dc:date>
    </item>
  </channel>
</rss>

