Is it possible to debug a dynamically loaded reentrant VI?


There is an easy way to get in a secondary diagram to debug it. When the VI with the secondary is in "Edit" mode, right-click on the secondary image and select the option that says something along the lines of user allow open diagram. Then when your VI is running and the VI in the secondary, you can right-click on the secondary and select Open block diagram. From there, you can debug it however you like.

Tags: NI Software

Similar Questions

  • How to debug several copies of a dynamically load vi

    I have a Subvi, which is dynamically load by several sie. How can I debug the Subvi for each instance? It seems that I can open only a copy of the Subvi but I want to get the front panel for each instance. Is this possible? Thank you!

    Tom

    You must do two things to open several instances of the same VI dynamically.

    • Make sure that the VI is reentrant.
    • Set the input options on Open VI refers to the value 8, indicating that you open the VI for reentrant run.

    In the case otherwise you simply open a reference to the same VI twice, and this instance cannot run in two places at the same time. The second call to the VI will have to wait for the first at the end.

  • dynamically load the Options in a drop-down list in C++

    Hey guys,.

    I'm trying to dynamically load items Option in a drop-down list by using C++.  I have a function in my class of WorkManager file that does the trick:

    QStringList WorkManager::getListOfItems() {
        int i = 0;
        QStringList taskNames;  // used for debugging mainly, so i can print the list out to debug
        QList  myObjects = m_model->toListOfObjects();
        DropDown * dpList = bb::cascades::Application::instance()->scene()->findChild("scriptListDropDown");
        if (dpList != 0 ) {
            dpList->setSelectedOption(0);
            dpList->removeAll();
            for (i = 0; i < myObjects.size(); i++) {
                Task * myTask = (Task *) myObjects[i];
                taskNames.append(myTask->taskName());
                dpList->add(Option::create().text(myTask->taskName()).value(myTask->command()));
    //          delete myTask;  // do I need to delete the task object?
            }
    //      qDebug() << "WorkManager::getLIstOfItems(), ---> list of tasks is : " << taskNames;
            return taskNames;
        } else  {
            qDebug() << "WorkManager::getListOfItems(), ---> dpList was 0";
            return taskNames;  // empty list
        }
    }
    

    I also found this thread:http://supportforums.blackberry.com/t5/Native-Development/Adding-options-to-a-DropDown-from-c/m-p/21... that helped me get the filled drop-down list when the application starts.

    However, I need to re - fill list from time to time, when the list (a GroupDataModel) changes.  calling the function above a second time anywhere in my application appears to hang the application immediately.

    I think / thought it might have something to do with the slot for the onSelectedValueChanged, but I can't understand it.

    It seems down right when I do dpList-> removeAll().

    I also can't seem to find the right place to call this function to an object of type in my class.  I think it's because the drop-down list is not ready yet as the dpList * is always 0 unless what I call after the line:

    app->setScene(root);
    

    in the applicationui.cpp file.  Calling it works on start-up, but trying to update the list later (by removeAll() and recreate) causes the app crashing.

    is there a better way to do it?  .. and make it safer?  I can't understand how to do this.

    Thank you!

    J

    First, drop the:

    dpList->setSelectedOption(0);
    

    Not only if it is not necessary, but it will explode your application if the function is called when there is already no options in the menu dropdown.

    Also, do NOT delete the task, because it is still owned by the datamodel. I also see that you use type casting C, which just blindly accepts your cast, even if it's a mistake. Instead, if you know for sure what kind it will be this way instead:

    Task* myTask = static_cast(myObjects[i]);
    

    If you are not sure if the type you are casting the is the type you need, use the dynamic_cast instead:

    Task* myTask = dynamic_cast(myObjects[i]);
    

    The advantage of this more static_cast , is that if you try to perform a type cast is not compatible, then myTask will be set to NULL.

    Alternatively, Qt offers a replacement for dynamic_cast which works on platforms where is not regular C++ casts.

    Task* myTask = qobject_cast(myObjects[i]);
    

    It is functionally equivalent to dynamic_cast, but as I said, it works on all platforms that Qt exists, whereas dynamic_cast cannot.

    Once you did get back to us.

    oddboy wrote:

    Hey guys,.

    I'm trying to dynamically load items Option in a drop-down list by using C++.  I have a function in my class of WorkManager file that does the trick:

    QStringList WorkManager::getListOfItems() {
        int i = 0;
        QStringList taskNames;  // used for debugging mainly, so i can print the list out to debug
        QList  myObjects = m_model->toListOfObjects();
        DropDown * dpList = bb::cascades::Application::instance()->scene()->findChild("scriptListDropDown");
        if (dpList != 0 ) {
            dpList->setSelectedOption(0);
            dpList->removeAll();
            for (i = 0; i < myObjects.size(); i++) {
                Task * myTask = (Task *) myObjects[i];
                taskNames.append(myTask->taskName());
                dpList->add(Option::create().text(myTask->taskName()).value(myTask->command()));
    //          delete myTask;  // do I need to delete the task object?
            }
    //      qDebug() << "WorkManager::getLIstOfItems(), ---> list of tasks is : " << taskNames;
            return taskNames;
        } else  {
            qDebug() << "WorkManager::getListOfItems(), ---> dpList was 0";
            return taskNames;  // empty list
        }
    }
    

    I also found this thread:http://supportforums.blackberry.com/t5/Native-Development/Adding-options-to-a-DropDown-from-c/m-p/21... that helped me get the filled drop-down list when the application starts.

    However, I need to re - fill list from time to time, when the list (a GroupDataModel) changes.  calling the function above a second time anywhere in my application appears to hang the application immediately.

    I think / thought it might have something to do with the slot for the onSelectedValueChanged, but I can't understand it.

    It seems down right when I do dpList-> removeAll().

    I also can't seem to find the right place to call this function to an object of type in my class.  I think it's because the drop-down list is not ready yet as the dpList * is always 0 unless what I call after the line:

    app->setScene(root);
    

    in the applicationui.cpp file.  Calling it works on start-up, but trying to update the list later (by removeAll() and recreate) causes the app crashing.

    is there a better way to do it?  .. and make it safer?  I can't understand how to do this.

    Thank you!

    J

  • Dynamically load Scripts

    I have not found a way to dynamically load JS or JSX scripts. I understand that the principal can not be loaded dynamically, but I would think that other scripts, because they are not compiled, should be loaded dynamically. If it helps, I'm debugging using Sublime text mode.
    Is there a way?

    Thank you
    Alex

    http://www.davidebarranca.com/2014/01/HTML-panels-tips-2-including-multiple-jsx/

  • How can I dynamically load swc files using as3? (without relying on the Flash IDE).

    How can I dynamically load swc files using as3? (without relying on the Flash IDE).

    The SWF file can be used in the same way as the CFC, which means that you don't need to "visually show" anything when it is loaded. Your code can use the classes and assets incorporated into the SWF, just as a SWC file. So if someone just to load the SWF file to see what was in it that they see nothing. They could however access programmatically to what anyone on the inside just like you, if they went to that level. But it is not as easy as just racing as SWF to see what is inside.

    I hope that all packaging several separate sovereigns will allow you to load and unload only what you need to keep the RAM usage as low as possible with a minimum load SWF.

    If you are ready, please mark all useful/correct so we can filter without response. You're welcome and good luck!

  • play nested MC in dynamically loaded MC

    Hello

    I have a dynamically loaded movieclip. Inside of this, I have a movieclip (with a menu in it) that I want to play when the user clicks a button. I can't make it work. Help?

    check the option 'Allow debugging' in your publishing settings, so that we can see the error line number.

  • Dynamically loading the interface from a remote source implementation class

    Hello guys,.

    I'm kind new to AS3, please bear with me.

    I'm working on a project were I want to implement some sort of MVC. The idea is this: have an application Viewer that connects to a database and reads the object to display (based on some ID); have an app Setter that connects to the database and sets the object to display for a particular ID.

    What I'm trying to do is to have an interface that declares the common methods for the object class (like the draw, etc.) and have implementations of this interface be dynamically loaded from the database in the Viewer.

    Is this possible? I still think about it in the right way?

    I'd appreciate any suggestions really.
    Thank you

    If you check the book by peldi et al., u would have found what you're talking about. The principle u want to talk is easy to do. This might get u started (it is FMS but the idea is the same): http://help.adobe.com/en_US/FlashMediaServer/3.5_SS_ASD/flashmediaserver_3.5_sslr.pdf - p.28 - application.registerClass () method.

  • What about dynamically loading cursor/radios within the grid

    I have a DataGrid and I use ItemRenderers to dynamically load components such as images and buttons it contains. Now, I wanted to know if its possible to load a cursor or even a radiogroup based on values that the datagrid receives dynamically. If a cursor is used it must be calibrated with data it receives from the dataProvider on the grid. Similarly, if a group of radio buttons is used, I should be able to make number of radios based on data provided to datagrid.

    I essentially build an application for image search, where I want to give a slider or radios (within each row of the datagrid control) with different sizes in which the same image is available. The user must be able to choose a size, and then continue with the procedure continues.

    Let me know if this is possible. Thank you.

    Very well. Then you will probably need to specify e4x for the HTTPService resultFormat property and then use the e4x syntax to get these channels.

    http://livedocs.Adobe.com/Flex/3/HTML/Help.HTML?content=13_Working_with_XML_03.html

    If this post has answered your question or helped, please mark it as such.

  • dynamically loading the sounds she draws to a .swf

    Is this possible in Actionscript 3 to have a bunch of sounds in the library of your .swf you can dynamically load? The sound.load() seems to be something external to the url. I would like to ask you a whole collections of sounds in the libarary a fund sovereign and then dynamically chosen one I want to play when running.

    :

  • How to query a Subvi dynamically loaded to its input terminals names?

    Hello

    I have an application where I use dynamically load the Subvi and I need a way to query the Subvi for its names of input terminals.  I'll use several different Subvi now and in the future and will not experience the terminals.

    Any help would be greatly appreciated.

    Thank you in advance!

  • Impossible to find dynamically loaded VI

    I am updating a code of LV6.1 to LV2011. The application works well before you build it and install it on another machine. When I install and run it on the other machine, it tries to open a file of reference, but it can not find a VI named DSA8300.vi. I get the following error message.

    Reference VI opened in InitScope.vi-> PATAR.vi->

    Path of the VI: c:\PATAR3.0.2\Range_RC3\Plugins\Scopes\DSA8300.vi<\b>

    Built Application or shared library (DLL): ensure that all loaded screws dynamically were correctly included in the specification for the application or a shared library build.

    But I checked the properties of my generation, and the file has been correctly included in the specifications of construction as a dynamic VI. What else can I check?

    Thank you very much.

    This thread can be useful.

    http://forums.NI.com/T5/LabVIEW/can-t-find-my-dynamically-loaded-VI-path/m-p/1124341/highlight/true#...

    Have you tried searching the forum for you the question?  There are others.

  • Return of dynamic loading vi loses focus

    Following the example of NI Loader.vi dynamic, my vi charge, runs and returns properly.  Howerver, when you use the same code to call from my main program, vi of the same load and runs, but in return, emphasis is not on the original vi.  A click of the mouse on the screen is necessary for the development of restoration.  Given that my program is heavilly keyboard based, it is a nuisance, and users may think that the program froze.

    Looking at the appearance of the window, showed that, in the Example.vi of dynamic load display front panel and narrow Panel have been verified.  These were not checked in my program.  When activated, this seemed to solve the problem.

    It seems that the first vi needs both to take focus on return of a vi loaded dynamically.

    Thanks for the tips.

  • Question about the Manager of messages in queue and dynamically load/close Subvi

    Hi, my dear LV users

    I learn how to use the machine in queue Sate Architecture. I created a simple project, including a "main.vi" to dynamically load a sub vi 'sub_Vi2.vi' in the case of "initialize". The sub vi simply open a configuration file and load affecting some control and write these values in the configuration file. If the configuration file is not created, the sub vi creates until the user closes the Subvi.

    In the case of "Get out" of my "main.vi", I send 'true' to the Subvi stop button to stop running it. But the sub vi did not write these values back to the configuration file, or created a new when I delete the configuration file.

    There is another vi I made 'main1.vi', which loads dynamically and close the Subvi. And it works as well as I expected: create the file and write data!

    Can someone help me understand the code? I've also attached the front of diagrams and source code. It's in 2012 LV.

    Best regards

    Li CQ


  • Passing parameters to dynamically loaded screws

    Hello

    I have a data acquisition application that uses an analog input, PCI-Hardware.
    With this material I enjoy different channels and display them in audio
    In operation 'Preview' I enjoy 4 channels and display them in 4 audios.
    I have therefore a quarter of the maximum sampling for each channel.
    Operation 'zoom' I only enjoy a channel (at the material max sampling rate)
    and display the data in the selected channel (the other channels are igored in zoom mode)

    My idea is to launch the different screws according to the mode (overview, zooom).
    I could imagine, that a good approach to perfom this task calls different screws
    of the main program.

    Unfortunately, I do not understand how to pass parameters to the VI if I call them
    using knots "reference open VI", "call for reference" and "close reference VI.
    I tried to understand the Labview "Example of dynamic load", but it's too complicated for me.
    Can someone give me a simple example to dynamically load the screws or y at - it white papers
    or nugets on this topic?


  • App Builder with dynamically loaded VI - please help

    Hello

    Please take a look in the ZIP file attached with the sample project. The appellant load sub dynamically. This works well in the development environment (LV 2011) but when I build the EXE, it stops working. Please take a look; Ideally, repost fixed project in this thread, others to take advantage of the way to solve this problem...

    Thank you!

    JorgeinSD

    Hi Jorge,.

    This is the problem of the ususal: in the executable path to your dynamically loaded VI Exchange.

    You have defined to be included in the executable. If the path passes to Appdir\DynLoad.exe\LoadMeDynamically.vi, but you try to open the path AppDir\LoadMeDynamically.vi...

    Options:

    -check the execution (by the property node) environment to decide which way to use

    -change the location of the VI to "support the directory", this will be a folder named 'data' next to your executable file. Call the VI of this folder. You can do the same thing inside your project to have the same calling conventions in the development and runtime environment...

Maybe you are looking for