Frage:

As a Windows C/C++ DLL, the RSA API can be used in many C/C++ development environments including National Instruments LabWindows/CVI.  However, due to the way LabWindows/CVI 2010 handles the loading of external .DLLs, the compiled executable will experience a fatal run-time error.  When this occurs you will receive a message like the following:

FATAL RUN-TIME ERROR
Unknown source position, thread id 0x0000XXXX
A non-debuggable thread caused a ‘General Protection’ fault at address 0xXXXXXXXX.

Please note: this issue has been confirmed to exist in LabWindows/CVI 2010 and may exist in other versions of LabWindows/CVI as well.  LabWindows/CVI 2015 has shown not to exhibit this problem.

Antwort:

National Instrument has confirmed this issue with other external libraries and has written up a KnowledgeBase article showing how to fix the issue.  You can read this article at the following URL.

http://digital.ni.com/public.nsf/allkb/14B6D031F7AC4B53862577AE0060F844

This article explains how to add keys to your Windows Registry to force LabWindows/CVI to load the external .DLLs in a specified order.  This technique will be used to load the RSA API .DLLs in the proper order so that the built executable will not experience a fatal run-time error.

The simplest way to add the keys to your registry is to run the following registry script.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\National Instruments\CVI\10.0\DLL Load Order]
"DLL1"="RSA_API.dll"
"DLL2"="RSA300API.dll"
"DLL3"="RSA500API.dll"
"DLL4"="BaseDSP.dll"
"DLL5"="GPMeasDSP.dll"

Open Notepad.exe and Copy and paste the script above into the Notepad window.

Go to the File menu and select Save As…

Save the file to your computer’s Desktop as a .reg file.  Enter the filename and then change the Save as type to All Files (*.*) then click the Save button.

Navigate to the folder where you saved the .reg file.  Double-click the .reg file to launch the Registry Editor.

Click Yes to allow the changes to be made and the new Registry keys to be added.

 

Rebuild your LabWindows/CVI project.  Your executable should now run without a Fatal Run-time Error.

War dies hilfreich?
234 Kunden haben diese FAQs bewertet

FAQ-ID: 1770538