I get error 998 when calling a LabVIEW buildt DLL from MSVC++

I created a DLL in LV 6.0.2. This DLL contains 39 VIs and controls. 13 of the VIs are exported, the others are subVIs, which one of them is a dynamic VI.
I do not have all connectors used by defining the VI prototype in the build file for the application builder.
Using this DLL I get four effects:
From LV 6.0.2 FDS all works fine until I quit LV immediatly after the application VI stoppes. Then LV wants to save some of the VIs of the DLL.
If I do the same but close the VI before I quit LV one want save anything.
After Building an exe from the application VI and running the exe all works fine. The VI will only stop and if I close or quit noone wants to save something.
Then I built an application with M
SVC++ 6.0 using this DLL. There will be no errors or warnings during the build. If I start the application i get an error message dialog with the number 998 stating "system error loading LV Runtime engine. My application needs a Version 6.0 or compatible Runtime-engine". The path to teh Runtime-engine is given in the dialog and the lvrt.dll there has version 6.0.2.
Does someone run on such a problem?
Has someone a solution to this?
Waldemar
Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions

Waldemar,
I. LabVIEW wanting to save VIs
The DLL created is just a group of VIs, not actually compiled DLL code. When the subVIs are called, they might be cached from the disk copy, not the one in the DLL. LabVIEW then loads the separate copy of that subVI. It will then ask if you want to save changes because there were value changes when it was run (this makes since) or it is in LabVIEW 6.0 version and has not been mass compiled for LabVIEW 6.0.2. When it is compiled to an exe, the search path for the subVIs goes through the executable and not the LabVIEW development environment. Also, saving VIs is not an option in an executable so the save dialog does not pop up.
II. MSVC++ error
This is actually a Microsoft issue. It has something to do with static and
dynamic linking of the MFC DLL. Our R&D engineers have verified this with projects created with no LabVIEW code at all (that is why we believe it to be solely a Microsoft issue). There are three options at this time:
1. Link with the DLL form of MFC.
2. Do not link with the .lib from the LV DLL, instead use LoadLibrary and GetProcAddress to dynamically load the DLL and call the function.
3. Use the VC delayload feature to make the LV DLL not get loaded until the first call is made into it. See VC help on "delayload" for information on setting this up.
Randy Hoskin
Applications Engineer
National Instruments
http://www.ni.com/ask

Similar Messages

  • Keep getting error 45054 when trying to download my purchases from cloud.

    I keep getting error 45054 when trying to download my purchases from cloud.

    Follow the instructions in this support article.

  • Deleted items from Ipod Nano to make room for new. Emptied trash. Still getting error message when I try to copy items from ITunes to Ipod. What should I do now?

    Deleted items from Ipod Nano to make room for new. Emptied trash. Still getting error message when I try to copy items from ITunes to Ipod. What should I do now?

    If you delete songs (and other items) from the main iTunes library, yes, you need to empty the Trash because iTunes puts the song files into the Trash.  When deleting items from an iPod, the items are not being deleted from the main iTunes library, so nothing should end up in the Trash.
    Hopefully, you are not deleting items from your main iTunes library, just to sync those deletions from the iPod.  If you are, there is a better way.  You can post back if you want more info...

  • Error 998 when calling dll

    Hello,
    I'm using LabView9 32-bit on 64-bit machine (Windows7) and I'm trying to call some functions from an external dll (32-bit).
    When configuring the call-library-function-node to use this dll I get an error message saying:
     "error loading (filename of dll)". Invalid access to memory location.
    The message is in German as is my operating system.
    Now I wrote a little test app in VC++ which directly called the dll. Everything worked fine.
    Next I wrote a wrapper-dll to call the original dll's functions and used that with my test app in VC++. Also no problems.
    Finally I configured LabView to call the wrapper-dll and got no error message at least right after configuration.
    But when I run the VI and debug the wrapper-dll I get an error 998 when the wrapper-dll tries to load the original dll.
    According to Microsoft's description of system error codes this is ERROR_NOACCESS and means exactly "Invalid access to memory location".
    So for some strange reason LabView isn't able to load that dll, which is obviously no problem for a C++ app.
    Any help on this would be very much appreciated since my project is strongly dependent on getting this to work.
    Best regards,
    \Ulli.

    Hi Ronnie,
    unfortunately there is no direct solution for this issue so far. Both sides, the dll-vendor (texas instruments) and ni are aware of it, with ni (in my opinion) at least trying to solve it.
    The cause seems to be some encryption stuff on the vendor side (they use an usb dongle). Is something similar involved with your problem?
    My current workaround is to have an external wrapper app written in c++ accessing the said dll. To this wrapper I communicate via socket to realise the function calls.
    This is quite annoying since it's a bit of work to do and you definitely loose performance. But so far no one was able (and in case of Texas Instruments even not willing) to help on that problem.
    And again: for me this issue applies only for the said configuration:
    Windows7, 64-bit,
    LV2009, 32-bit (I cannot use 64 bit because of some 32-bit-only toolboxes)
    the dll is available both in 32 and 64 bit...
    I'm still exited, if there will be an official solution,
    good luck,
    \Ulli.

  • How can I get error message when calling pl/sql

    Hi,
    I call a pl/sql java wrapper generated by Rosetta.
    public static void startWf(
    OracleConnection _connection,
    BigDecimal p_goal_header_id,
    BigDecimal p_submiter_userid,
    String p_commit,
    String p_init_msg_list,
    String [] x_return_status,
    BigDecimal [] x_msg_count,
    String [] x_msg_data
    ) throws SQLException
    the pl/sql is written by the standard way of OAF backend,
    PROCEDURE start_wf ( p_goal_header_id in number
              ,p_submiter_userid     in number
    ,p_commit in varchar2 DEFAULT FND_API.G_TRUE
              ,p_init_msg_list in varchar2 DEFAULT FND_API.G_FALSE
    ,x_return_status out varchar2
    ,x_msg_count out number
    ,x_msg_data out varchar2);
    when running this procedure in TOAD, in case of error, following script can print error message:
    if l_return_status <> 'S' then
    dbms_output.put_line('Result');
    dbms_output.put_line('status: '||l_return_status);
    dbms_output.put_line('error count: '||l_msg_count);
    dbms_output.put_line('Loop Error');
    dbms_output.put_line('Err: '||fnd_msg_pub.get(-1,p_encoded=>'F'));
    for i in 2..l_msg_count loop
    dbms_output.put_line('Err: '||fnd_msg_pub.get(p_encoded=>'F'));
    end loop;
    end if;
    if l_return_status = 'S' then
    dbms_output.put_line('Success');
    end if;
    end;
    My question is when calling pl/sql java wrapper from Java, in case of Error, return_status="E", then in order to get exact error msg, is there any equivalent java method such as get error from pageContext or OADBTransaciton.. etc instead of calling again pl/sql fnd_msg_pub.get to get error msg?
    thanks
    Lei

    Lei,
    You can use
    checkErrors(OADBTransaction pTx,
    int pMessageCount,
    String pReturnStatus,
    String pMessageData)
    method in OAExceptionUtils Class.For details look at javadoc of OAExceptionUtils Class.
    --Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Why do I get Error -1073807343 when calling the open visa function ?

    Hello,
    I am running a Labview 6i under Linux (kernel 2.4) and I have Error -1073807343 when calling the open visa function. I have verified the name of the session (GPIB0::9::INSTR), and I can communicate with my instruments with ibic.
    More informations : I use NIVISA 2.5 and nigpib-0.8.2. I have downloaded the lastest drivers of my instruments but it doesn't work better.
    Thanks very much for your help.

    We've had several NI-VISA releases since 2.5 - so I suggest you upgrade to NI-VISA 3.0. While there isn't anything specific to your type of problem in the Linux version of our readme.txt, I know we've made a number of other fixes.
    While the most recent release is NI-VISA 3.1, I still recommend you upgrade only to 3.0.
    This is because NI-VISA 3.1 requires the new NI-488.2 release for GPIB-ENET to be installed (even though you aren't using that product). This is due to some internal rearchitectures, and the PCI-GPIB product is not released. If you do want to go with NI-VISA 3.1, the new NI-488.2 release for GPIB-ENET on Linux will still work with the PCI-GPIB beta driver that you have installed.
    Dan Mondrik
    National Instruments

  • Why do I get error -17500 when calling a batch file using the call executable step type?

    I am calling a batch file using the call executable step type. If the path to the batch file contains a space I get error -17500 and a message stating there was an error in "Post". For example the path to the batch file is "c:\TestWin\Test Files\...\Program.bat" When I run this I get the above mentioned error, however if I change my directory structure so the path is now "c:\TestWin\TestFiles\...\Program.bat" it runs fine. I use the browse feature to find my batch file so it is not me typing in a path incorrectly. I have removed the batch file and I get a different error stating that it couldn't find the file so it appears that for my error it can find the file but can't run it. I am
    sure that this has something to do with the fact that batch files are written in DOS but really don't want to resort to changing my directory structure on all my test stations. Is there any way to fix this problem so I can leave a space in my path?

    It appears I have figured it out. This was on another computer so I was unaware of how they used their computer. I like you got it to work in the temp directory and in fact got the program.bat file to work as long as I put it under the temp directory, but when I switched out to my TestWin directory it wouldn't work, so I removed everything from the directory except the batch file it self and it work. What I found out after adding files in one at a time is that the person had a file called "Test" with no file extension in there "c:\TestWin\" directory. Removing this file made it work. Putting the file back broke it. So it appeares that when teststand was running it followed the path saw a space and attempted to grab the "Test" file instead of bro
    wsing into the "Test Files" directory. If you create a file in your temp directory called "temp" with no file extension you will see the same problem. Thank you for your help.

  • Getting error message when calling the sub templates

    Hi,
    I developed an RTF template which contains a cross tab report. There is also a logo and
    many other fields above and below the cross tab. If the cross tab output goes to the next page dynamically then the other fields, present above and below the cross tab, should also be displayed. So i kept the fields above the cross tab report as header and the fields below the cross tab as footer using <?start:body?> and <?end body?>. When i preview the RTF then am getting the desired output with headers and footers repeating in all the pages.
    If i call this RTF from another main template(import RTF) then am getting error java.lang.NullPointerException.
    If i change <?start:body?> and <?end body?> to <?body-start?> and <?body-end?> then am getting the output. But the header and footer is printed in 1st page only and not printed from 2nd page.
    Can anyone please suggest how to display the headers and footers in all pages.
    Thanks,
    Subba Reddy

    Hi,
    Thanks for ur replay. I also tried creating header and footer and called from the template(summary.RTF). If i preview the template then it is working fine. Headers and footers are displayed in all the pages. But if i call this summary.RTF from another main template then headers and footers are dispalyed in the 1st page only. I cant call the headers and footers from the main template since the main template calls many other templates apart from Summary.RTF. This headers and footers should be displayed only for Summary.RTF
    Thanks.

  • HT201272 Keep getting error #499 when trying to download a song from an album I purchased that failed to download.  Error message appears when trying to download from iTunes and the cloud. Re-starting the computer did not help.

    I downloaded an album I purhcased a few days ago but one of the album's songs did not download.  I received an error message, #499, for which I can get no explanation or interpretation of what error #499 even is (other than generic terms).  All my efforts to re-start the download have failed.  I've tried several times to download the file to no avail, tried the cloud service to no avail, and re-started the computer to no avail.
    My main intention is to, of course, get the download completed.  My secondary intention is to, hopefully, bring to the attention of Apple - iTunes staff, the grossly inadequate, dare I say cryptic, error message descriptions iTunes displays. 
    I can provide the purchase receipt number if it is required.

    Hey SDGardella,
    Thanks for the question. I understand that you are receiving error 499 when attempting to download purchases from the iTunes Store. The following resource outlines this error message:
    iTunes: Advanced iTunes Store troubleshooting
    http://support.apple.com/kb/TS3297
    "Error 499"
    This alert occurs due to security software. Follow iTunes for Windows: Troubleshooting security software issues.
    Thanks,
    Matt M.

  • Keep getting error 4450 when trying to burn a cd from itunes

    keep getting error code 4450 when trying to burn a cd from itunes library

    lydia
    we need much more info
    Quoted from  Apple's "How to write a good question"
       To help other members answer your question, give as many details as you can.
    Include your product name and specs such as processor speed, memory, and storage capacity. Please do not include your Serial Number, IMEI, MEID, or other personal information.
    Provide the version numbers of your operating system and relevant applications, for example "iOS 6.0.3" or "iPhoto 9.1.2".
    Describe the problem, and include any details about what seems to cause it.
    List any troubleshooting steps you've already tried, or temporary fixes you've discovered.
    ÇÇÇ

  • Get error 998 when starting Multisim 10 on Windows Vista Home Basic PC (Ultiboard too)

    Hi,
    I´m getting 2 errors when I start Multisim and Ultiboard, which are:
    Error loading library C:\Program Files\National Instruments\Circuit Design Suite 10.0\Autoroute.dll, ('998')
    The data area passed to a system call is too small.
    AND
    Error loading library C:\Program Files\National Instruments\Circuit Design Suite 10.0\DDFlink.dll, ('998')
    Invalid access to memory location.
    and after that it freezes, does anyone know what to do?
    I´ve already tried running it as an administrator, and in Windows XP compatability mode...
    Thanks for any help,
    John

    Hi Yetti!
    Unfortunately at the moment Multisim 10 is not supported under Windows Vista. There should be a patch very shortly for it. One recommendation i can make is that you uninstall the circuit design and that at reinstalling you dont allow the SSU to install any update. I can't guarantee this will work but it may fix a few things for you.
    Best Regards!
    Oswald Branford

  • Get error message when I try to download pictures from my camera to Iphoto.

    Whenever I try to download photos from my digital camera to my Iphoto application in my Mac Book Pro laptop, I'm getting an error message that "startup disk is running low on space" and to delete some files before I try to download again. I also tried to install a recent software update to my computer and could not because it said that I did not have anough GB to do so. So... I'm thinking I need to delete some things. Which items take up the most hard drive space and which would be the best files to delete? I have all my info backed up on an external hard drive, so I could delete a lot of pictures. Thanks!

    The order of consumption is usually, video, pics, music, docs.
    If you have a great deal of photos on you internal drive and have them on an external storage drive, then you can delete them from your internal, that would free up space, same for videos, they are both space hogs. I regularly put my photos to an external drive, just keep my internal with as much free space on it. It runs faster and less stressful on the drive.
    If you are having these error messages then you most certainly need to get stuff off, overloading can kill a drive.
    As a general rule try to keep the internal below 50% for better performance.

  • Keep getting error -45054 when trying to make a purchase from iTunes.

    Whenever I try to make a purchase from iTunes, I get a -45054 error.  On the Mac, this error is tied to disk access rights; my problem is not the same.  Any ideas?  Thanks

    lydia
    we need much more info
    Quoted from  Apple's "How to write a good question"
       To help other members answer your question, give as many details as you can.
    Include your product name and specs such as processor speed, memory, and storage capacity. Please do not include your Serial Number, IMEI, MEID, or other personal information.
    Provide the version numbers of your operating system and relevant applications, for example "iOS 6.0.3" or "iPhoto 9.1.2".
    Describe the problem, and include any details about what seems to cause it.
    List any troubleshooting steps you've already tried, or temporary fixes you've discovered.
    ÇÇÇ

  • HT203164 getting error 4310 when trying to burn a cd from itunes playlist using asus notebook with windows 8and itunes 11

    HELP

    Microsoft Windows 8 x64 Home Premium Edition (Build 9200)
    ASUSTeK COMPUTER INC. G75VW
    iTunes 11.0.2.26
    QuickTime 7.7.3
    FairPlay 2.3.31
    Apple Application Support 2.3.3
    iPod Updater Library 10.0d2
    CD Driver 2.2.3.0
    CD Driver DLL 2.1.3.1
    Apple Mobile Device 6.1.0.13
    Apple Mobile Device Driver 1.64.0.0
    Bonjour 3.0.0.10 (333.10)
    Gracenote SDK 1.9.6.502
    Gracenote MusicID 1.9.6.115
    Gracenote Submit 1.9.6.143
    Gracenote DSP 1.9.6.45
    iTunes Serial Number 00E3B4980AA31F78
    Current user is not an administrator.
    The current local date and time is 2013-03-07 23:06:56.
    iTunes is not running in safe mode.
    WebKit accelerated compositing is enabled.
    HDCP is supported.
    Core Media is supported.
    **** External Plug-ins Information ****
    No external plug-ins installed.
    iPodService 11.0.2.26 (x64) is currently running.
    iTunesHelper 11.0.2.26 is currently running.
    Apple Mobile Device service 3.3.0.0 is currently running.
    **** CD/DVD Drive Tests ****
    LowerFilters: PxHlpa64 (2.0.0.0),
    UpperFilters: GEARAspiWDM (2.2.3.0),
    E:   HL-DT-ST DVDRAM, Rev 
    Audio CD in drive.
    Found 13 songs on CD, playing time 47:20 on Audio CD.
    Track 1, start time 00:02:00
    Track 2, start time 03:33:03
    Track 3, start time 06:28:42
    Track 4, start time 10:53:66
    Track 5, start time 13:19:02
    Track 6, start time 16:27:18
    Track 7, start time 19:00:35
    Track 8, start time 23:42:02
    Track 9, start time 27:43:66
    Track 10, start time 31:27:22
    Track 11, start time 35:41:29
    Track 12, start time 39:35:02
    Track 13, start time 42:51:51
    Audio CD reading succeeded.
    Get drive speed succeeded.
    The drive CDR speeds are:   24.
    The drive CDRW speeds are:   24.
    The drive DVDR speeds are:   24.
    The drive DVDRW speeds are:   24.
    The last failed MP3 CD burn had error code 4310(0x000010d6). It happened on drive E:   HL-DT-ST DVDRAM on CDR media at speed 24X.
    Tnx, duh didn't think to try that and I should know better... Don't know why I'm not shown as Administrator since I am the only one that can use this PC...

  • How do I call a LabVIEW created DLL from within Microsoft Excel (VBA)?

    Hi,
    I'm trying to get Microsoft Excel 2003 to call a function stored in a dll that I created using LabVIEW 7.1.  The function is very simple and is called "binary_file_to_ascii".  Basically it just reads a LabVIEW created binary spreadsheet file and outputs the columns as float arrays.
    The function arguments are as follows:
    INPUT : String that contains the path to the binary spreadsheet file
    OUTPUT : Number of rows in the spreadsheet
    OUTPUT : Number of columns in the spreadsheet
    OUTPUT : Float array containing the elements in column 1
    OUTPUT : Float array containing the elements in column 2..
    OUTPUT : Float array containing the elements in column 11
    However, for some reason there is something wrong with my VBA code and/or the way I created the DLL in LabVIEW because Excel crashes when it loads my DLL.
    What do I need to change in my VBA code or my LabVIEW DLL build settings to fix this?
    I've attached to this post a ZIP file that contains all my code and a sample binary file.
    Your help with this will be much appreciated.  Thanks!
    Richard
    P.S.  Here is the VBA code I'm using:
    Private Declare Function binary_file_to_ascii Lib "C:\temp\binary_file_to_ascii\binary_to_ascii.dll" _
    (ByVal binaryFile As String, ByVal nrows As Long, ByVal ncols As Long, ByVal column1 As Variant, _
    ByVal column2 As Variant, ByVal column3 As Variant, _
    ByVal column4 As Variant, ByVal column5 As Variant, _
    ByVal column6 As Variant, ByVal column7 As Variant, _
    ByVal column8 As Variant, ByVal column9 As Variant, _
    ByVal column10 As Variant, ByVal column11 As Variant)
    Private Sub load_binary_spectra()
      Dim nrows, ncols As Long
      Dim col1(), col2(), col3(), col4(), col5(), col6(), _
          col7(), col8(), col9(), col10(), col11() As Variant
      Dim lRetVal As Long
      Dim spectra_path As String
        spectra_path = "C:\temp\binary_file_to_ascii\sample_binary_file\sample_binary_file.dat"
        lRetVal = binary_file_to_ascii(spectra_path, nrows, ncols, _
                  col1(), col2(), col3(), col4(), col5(), col6(), _
                  col7(), col8(), col9(), col10(), col11())
        MsgBox (spectra_path)
    End Sub
    Message Edited by Richard Ballantyne on 07-25-2007 02:39 PM
    Message Edited by Richard Ballantyne on 07-25-2007 02:39 PM
    Attachments:
    binary_file_to_ascii.zip ‏192 KB

    Hi,
    I don't know anything about Visual Basic, but here's my guess.
    When you load the DLL with this line of code
    Private Declare Function binary_file_to_ascii Lib "C:\temp\binary_file_to_ascii\binary_to_ascii.dll" _
    (ByVal binaryFile As String, ByVal nrows As Long, ByVal ncols As Long, ByVal column1 As Variant, _
    You are defining how the parameters are sent. It seems that all are sent by value (ByVal), but in the DLL header, some of the function's
    parameters are defined as pointers(see the function prototype below, look for asterisk(*))
    void __stdcall binary_file_to_ascii(PStr binaryFile,
                                                    long *numberOfRows,
                                                    long *numberOfColumns,
                                                    float column1[],
                                                    float column2[],
                                                    float column3[],
                                                    float column4[],
                                                    float column5[],
                                                    float column6[],
                                                    float column7[],
                                                    float column8[],
                                                    float column9[],
                                                    float column10[],
                                                    float column11[]);
    Can you define in VBA that you want to use pointer instead? Maybe by using ByRef (as by reference).
    Hope this helps.

Maybe you are looking for

  • Compile 9076 with LabVIEW 2014 Worked good with 2012 SP1

    An internal software error has occurred. Please contact National Instruments technical support at ni.com/support with the following information: Error 7 occurred at Open VI Reference in nirviOpenVIRefByNameOrPath.vi->niFpgaRemapObjsAndListIfUnderXNod

  • Updated to IOS 5 and my apps are gone and I cant manually put them back on

    i updated my 4th gen iPod touch to IOS 5 and it wiped most of the apps from my ipod.  On itunes it shows that they are they but they won't show on my ipod.  I tried to manually add them back on with the app store and it says that it is already instal

  • Itunes can't connect

    I have a MacBook running 10.5.8 with latest version of itunes.  I am trying to log into my itunes account, but it is saying there is a problem connecting to the internet and that I should check my connection or check back later.  My internet connecti

  • Trying to export original jpeg file # in Lightroom

    I cannot seem to exprt my images and retain the orginal jpeg file number once I have watermarked them... I choose the "save with original file number" option in the dop down list but it still exports them with new numbers. How do I keep my original n

  • HT1414 When I update 3GS which has iOS 4.1to 6.0.1 and now not activating

    Hi all,thanks for reading my question.. when I connected my device to my computer there was a nice popup to upgrade current to iOS 6.0.1. I took a backup before clicked on upgrade and it took sometime to upgrade and finally i saw a activation screen.