Call vi by reference

Hi,
I have a sub vi I need to execute, but I don't want the VI where it is in to wait until it is done. The only way I know to realize it, is opening a reference to this VI and use the 'run VI' invoke node and set 'wait until done' to false.
Now I generally never do it this way so I have 3 questions:
-Any other way to set 'dont wait until done' ?
-Normally I wire in and outputs to the sub-vi, how does this work with the invoke node
-Can the VI be reentrant without problems?
Thank you!

Here's a trick, but it's kind of clunky, and it only works in LV 7.1
Attachments:
Return_Immediately_but_Keep_Running_Demo.vi ‏26 KB
Return_Immediately_but_Keep_Running.vi ‏82 KB

Similar Messages

  • Getting "museJSAssert: Error calling selector function: Reference Error: Web Pro is not defined".

    First off, I am not a coding person. I decided to use Muse becuse I am good with Illustrator and Photoshop.
    The sight I built: www.speedcinch.com is now getting a bunch of errors when it initially was working fine. I am using godaddy for a host and using their ftp.
    This is the error I am getting now: museJSAssert: Error calling selector function: Reference Error: Web Pro is not defined
    You can see how my sight is supposed to work at http://speedcinchcom.businesscatalyst.com/index.html
    I have no idea what to do. Please help.

    Well, if nothing else I've ascertained that it's not GoDaddy's connectivity issue, as the issue continues late into today, and it does vary a bit per the other error reports. Using FileZilla there are just a few timeouts in the log, enough to give some pause but not necessarily (according to GD) disruptive. I've checked the list of uploaded files against the Muse Export folder contents and everything is there. In fact, the site looks good, buttons work, rollovers, etc, but there are no images. Like everyone else, this has cost me time and money in the last 24 hours.
    Let's see what the good people at Adobe live chat have to say, and I'll share it with you.

  • JuseJSAssert Error calling selector function: Reference Error:'PIE' is undefined

    Since installing your new version of Adobe Muse yesterday I have not been able to get updated pages to upload to my website.  I have exported the html to my desktop and it looks right there but when I upload it to the website I get the following error message: MuseJSAssert: Error calling selector function: Reference Error:"PIE" is undefined.   I have uploaded only the updated page but then I tried uploading the whole site MANY times and it just is NOT working.  Can I go back to the prior version as I had no problems with it.  PLEASE help!  I have worked on this for two days and am tired of it and need to get my site working properly!  Thanks for your quick response!

    Whats the site URL in question? Are you uploading the site to Business Catalyst or to a third party hosting provider? Did you try uploading all site files through a FTP client like Filezilla? Is that a specific browser/version where the problem occurs?
    Thanks,
    Vinayak

  • Trouble shooting apex application calling web-service reference

    Hi,
    I am developing an APEX application which calls a web-service reference. i am looking for ideas as to how to log necessary information for trouble shooting.
    i already thought about this -
    1. the response from the web-service is displayed to the user (via a collection object).
    but the issue is i want the administrator (who logs in at a later time) to see that an error occurred or what was the response from the web-service.
    Is there any in-built way of accessing this information (is it first of all stored somewhere automatically ?). the one possible solution i see is to create a table and log the info into this table along with user and session id.
    any ideas / pointers will greatly help me.
    Regards,
    Ramakrishnan

    It looks like you won't be able to test web service calls on apex.oracle.com. see this WebService on apex.oracle.com
    Edited by: tfa on Mar 18, 2013 9:59 AM

  • Registering call back object reference

    hello to all.
    I am developing a RMI application and I have a problem while registering the call back reference object of client.
    I have followed what ever thing required to register the clients object reference to register at the server side and server can call my client and it works fine in local environment. But when I use live environment my client can register the object but server cannot call my client.
    When I use following code while registering the client reference object
    System.out.println("Call me back registered as \n"+cmb); //cmb the the clients reference objectit gives following output
    Call me back registered as  
    Admin_Stub[UnicastRef [liveRef: [endpoint:[192.168.1.2:56851](remote),objID:[-57856c9e:124db6554b6:-7ffe, -7745666993431596650]]]]  At localhost it works fine even if my IP address changes to 192.168.1.2 to 192.168.1.4 or 6 i.e. works fine in local environment but when registering to the live environment it registers with the same IP address as shown in the output. So what can I do to register the object so that server can call me.
    Also when server get the reference of my client's object and try to connect my client it gives an exception of connection time out, which means it cannot find my client to reply.
    So, please suggest me what to do.
    Thank in advance.

    Very difficult, in fact impossible. You have to allolw for the presence or absence of:
    (a) client-side firewalls
    (b) client-side NAT
    (c) misconfigured client-side DNS, e.g. the Linux /etc/hosts issue described in the FAQ item.
    So some client-side configuration is inevitable. Most people avoid callback-based applications over the Internet for these reasons, as well as the security reasons that cause this issue in the first place.

  • How to call static VI reference

    Sir , I have problem to call static VI refernce in my main Program of ODE solver.Give solution to my problem.this is example problem given in labVIEW 8 i.e.,ODE circuit.
    Attachments:
    rlcmain.vi ‏25 KB

    The Help for that function tells you what to do:
    ODE F(X,t) is a strictly typed reference to the VI that
    implements the right-hand side of an ordinary differential equation
    dX/dt=F(X,t). Create this VI by starting from the VI template located in labview\vi.lib\gmath\ode.llb\ODE rhs.vit.
    There are also several examples that ship with LabVIEW showing you how to use ODE Solver.

  • Why are static methods called with null references,valid ?

    This is my code :
    package inheritance;
    public class inh6{
         public static void method(){
         System.out.println("Called");
         public static void main(String[] args){
              inh6 t4 = null;
         t4.method();
    O/P :
    CalledHere t4 is a null reference and yet we are able to call a method on it,why is null pointerexception not thrown.Why are we able to call static methods using null references ?
    t4 is null means it doesnot refer to any memeory address,hence how is method() called correctly.
    I hope i am clear. :)
    Thank you for your consideration.

    punter wrote:
    jverd wrote:
    Memory addresses have nothing to do with it. I doubt memory addresses are even mentioned once in the JLS.
    By memory address i mean the memory location the reference is pointing to.I know what you mean. But if you think it's relevant, can you show me where in the JLS it says anything about memory locations?
    >
    You can do that because a) t4's type is "reference to inh6" and b) method() is declared static, which means that you don't need an object to call it, just the class. That class comes from the compile time type of t4. The fact that t4 is null at runtime is irrelevant.
    So at compile time the type of t4 is inh6 and hence the method is called.Is it ? Had method() not been static a NullPointerException would have been thrown.Correct.
    With non-static, non-private, non-final methods, which implementation of the method gets called is determined at runtime, buy the class of the object on which it's being called. If any one of those "non"s goes away, then the method is entirely determined at compile time, and in the case of static methods, there's no instance necessary to call the method in the first place.

  • Call by value, reference, name...

    Hey everyone i am new to Java and would really appreciate if someone could explain to me how call by name, value and copy restore works for this code below:
    what are the outputs of each?
    #include <stdio.h>
          int a;
          void f(int x, int y) {
            x += a;
            a += 2*y;
          int main() {
            a = 3;
            f(a, 4);
            printf("%d\n", a);
            return 0;
          }i think by reference answer is 14 after i broke it down like this:
    f(int x, int &y){
    // x will be 3 as passed argument
    x += a;
    // now a is added to x so x will be 6
    // but beacse & is used x is the same as a
    // meaning if you change x it will change a
    a += 2*y;
    // a is now 6 so the result is 14
    }but don't know what the results will be for the other three options...
    any help is appreciated... thanks

    magic101 wrote:
    Hey everyone i am new to Java
    i think by reference answer is 14
    but don't know what the results will be for the other three options...There are no options, Java is always pass-by-value.

  • SOAP to SOAP call - javax.naming.Reference error - PI 7.1

    Hi friends,
    In our SOAP to SOAP scenario (synchronous) , we are getting the below error in SXMB_MONI.
    Error:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: java.lang.Exception: #Begin#Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object.#End#
    We have not used any custom module. In both sender & receiver CC only SAP standard module is there. Also there is no interface mapping in Interface Determination step. 
    We are not getting this error for all messages. But, some of the messages we are getting this error.
    Kindly clarify friends.
    Kind regards,
    Jegathees P.

    Hi,
    Thanks for your reply!!
    My Scenario is File to SOAP to File.
    Configred modules  in Sender channal below:
    Prcessing sequence:
    Number       Module Name                                        Module Key
    1..........       AF_Modules/RequestResponseBean.......1
    2..........       CallSapAdapter..........................................2
    3..........       AF_Modules/ResponseOnewayBean.......3
    Module Configuration:
    Module Key                                       Parameter Name                                       ParameterValue
    1                                                        passThrough                                            true
    3                                                        receiverChannel                                       receiverChannel name
    3                                                        receiverService                                        receiverService name
    please tell any more confiration requered.
    Regards,
    Ramesh

  • 12.4 beta: private copy constructor in base class required to be called from temporary reference when -g option used

    Hi,
    We've got an abstract base class (StringBase) which various types of strings inherit from. The copy constructor for this base class is private, since we don't want to allow copying when this class shouldn't be directly instantiated. A number of our methods take specify the base class as a reference, but take a derived class temporary as a default argument (see code appended).
    This worked fine in 12.3, but in 12.4 beta, this now says:
       Error: StringBase::StringBase(const StringBase&) is not accessible from __dflt_argA().
    This works fine in clang and gcc, and indeed, this GNU document says it was a bug which was fixed in gcc 4.3.0:
        Copy constructor access check while initializing a reference
    which references http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#391
    It only appears to error when the "-g" option is used, however, which doesn't seem right, and compiles fine if the "-g" option is removed, which makes me think it's a bug. Presumably the optimizer is eliding the copy when not using -g, but it's left in for debug mode, causing the compile error?
    Many thanks,
    Jonathan.
    $ clang++ -std=c++11 defaultarg.cpp
    $ g++ -std=c++11 defaultarg.cpp
    $ /opt/SolarisStudio12.4-beta_mar14-solaris-x86/bin/CC -c defaultarg.cpp
    $ /opt/SolarisStudio12.4-beta_mar14-solaris-x86/bin/CC -g -c defaultarg.cpp
    "defaultarg.cpp", line 6: Error: StringBase::StringBase(const StringBase&) is not accessible from __dflt_argA().
    1 Error(s) detected.
    $ cat defaultarg.cpp
    #include "stringbase.h"
    #include "conststring.h"
    static const ConstString S_DEFAULT("default value");
    void SomeMethod( const StringBase& str = S_DEFAULT )
       (void) str;
    int main( void )
       SomeMethod();
    $ cat stringbase.h
    #ifndef STRINGBASE_H
    #define STRINGBASE_H
    class StringBase
    protected:
       StringBase() {}
    private:
       StringBase( const StringBase& );
    #endif
    $ cat conststring.h
    #ifndef CONSTSTRING_H
    #define CONSTSTRING_H
    #include "stringbase.h"
    class ConstString : public StringBase
    public:
       ConstString() {}
       ConstString( const char* ) {}
       ConstString( const ConstString& );
    #endif

    Thanks for reporting the problem!
    This looks like a compiler bug, I think an artifact of creating a helper function for the debugger for the default argument.
    I have filed bug 18505648 for you.

  • Has anyone gotten this error code: MuseJSAssert: Error calling selector function: Reference error: Can't find variable: WebPro

    I haven't made any changes but this error just started. The next screen says Some files on the server may be missing or incorrect. Clear browser cache and try again. If the problem persists please contact the website author. Hosting is with Business Catalyst.

    Hi,
    Please check this post for a similar discussion : Some files on the server may be missing or incorrect
    Regards,
    Aish

  • Reg: Call By Value & Call By Reference

    Dear Gurus,
    Can anyone give me the exact difference between Call By Value and Call By Reference in calling procedures. And also give me which one is call by value&reference in In,Out,In Out.
    Cheers,
    Jai

    Hi Alex,
    Simple and elegant explanation, but I do have a question.
    Passing a variable to an argument of a procedure or a function which has been defined as out will consider it as null inside the sub program block until the value actually get changed inside it, then what is the need of pass by value to an argument defined as OUT (apart from the point the value gets copied back after the program completion)
    create or replace procedure test_proc(a out number,b in out number) as
    begin
    dbms_output.put_line('A Value :'||a);
    dbms_output.put_line('B Value :'||b);
    end;
    declare
    val_a number := 10;
    val_b number := 10;
    begin
    test_proc(val_a,val_b);
    dbms_output.put_line('val_A Value :'||val_a);
    dbms_output.put_line('val_B Value :'||val_b);
    end;
    PRAZY@11gR1> /
    A Value :
    B Value :10
    val_A Value :
    val_B Value :10
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.01And here A prints null even though we passed 10.
    @OP: Pardon me for taking-over your thread.
    Regards,
    Prazy
    Edited by: Prazy on Mar 26, 2010 2:49 PM

  • Applicatio​n locking up at Call by Reference

    We are seeing our application lock up occasionally at a VI Server Call By Reference node. The VI acts like it is waiting for subVI called to execute, but the subVI acts like it never got the message to execute. We've seen this at a number of VIs that call subVIs by reference. In some cases we are using strickly typed VI references, and in other cases we are not. We've seen the code lock up in both. Has anyone else seen this type of behavior?
    We are running LabVIEW 7.0, Windows XP, and TestStand 3.0.
    Also, I noticed that in a couple of places, the reference isn't explicitly closed. Since these VIs are only a small part of the application, not called very often, would that cause much of a problem (memory or otherwise)?

    SAS,
    The problems described by TPoint in the thread "TestStand hang, Execution with Event-Callback-VI " sound familiar.  Our code locks up at the "Run VI" Method (I've enclosed a screen capture of the VI where it locks up), and once it does, you can't open any VIs from Explorer.  You can still open VIs from within LabVIEW.  My main problem, though, is trying to get it to happen in a small application, and getting it to repeat more frequently.  Right now, we can go through 200 test runs before it happens.  Not enough to stop production, but enough to cut into our yields.  Unfortunately, it also makes it very hard to diagnose.  On our development system, it takes about 4 days to get through 200 runs.  So what I'm getting at is, if you can post an example of where you saw the problem, may that would help me put together an example of my problem.
    We don't use Events, we use polling.  We are also using LabVIEW 7.0, and I see that TPoint was using LV 7.1, so I couldn't open that example.  If there are other screen shots that you think would be helpful, let me know.  The Operator Interface is huge (its inherited code, I wish I had the time to rewrite it), so I can't post the whole thing, but if there are specific routines (such as the polling routine) that you'd like to see, I could post that.
    Thanks,
    Tom
    Attachments:
    Call_Driver_Mode_Block_Diagram.jpg ‏72 KB

  • Application locking up at Call by Reference

    We are seeing our application lock up occasionally at a VI Server Call By Reference node. The VI acts like it is waiting for subVI called to execute, but the subVI acts like it never got the message to execute. We've seen this at a number of VIs that call subVIs by reference. In some cases we are using strickly typed VI references, and in other cases we are not. We've seen the code lock up in both. Has anyone else seen this type of behavior?
    We are running LabVIEW 7.0, Windows XP, and TestStand 3.0.
    Also, I noticed that in a couple of places, the reference isn't explicitly closed. Since these VIs are only a small part of the application, not called very often, would that cause much of a problem (memory or otherwise)?

    It sounds like your reference is pointing to something else than you
    think it is pointing to.  Generally speaking, not closing
    references is not good.  Whether it will lead to problems is most
    likely a matter of probability.  Could it be that the reference is
    actually being closed before you issue the correct command?
    Fix the code first (make sure that references are closed when they're
    no longer used and make sure references aren't closed when they are
    still in use).
    References are great for uncovering tiny errors in code.  Hunt
    them down and show no mercy!  Or just debug, that'll work too.
    Seriously, I recommend you trace where the references are coming from and make sure they're being closed at the right time.
    Important is also the difference between (what I understand as)
    "static" references (right-clicking a control and selecting -create
    reference) and those created dynamically (such as in lauching a VI via
    VI server).  All Dynamic references should be closed when finished.
    If you could post a picture of the block diagram (Jpg is good, BMP is bad) maybe someone can offer some more precise help.
    Hope this helps
    Shane.
    Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)

  • A File Reference and its evolving life!

    Hi all,
    I've noticed something that came as a little bit of a surprise to me, but I think I have the explanation, at a hand-wavy higher level anyway.  What I have not established is if this is a 'bug' or a 'feature', and if there are any ways the following issue can be avoided at the NI function/api layer.
    Consider the file open and file close function.  You open a file, you use the reference to the file to write/read data, then at some point you close the reference and the close function spits out the file-path.  Here are a couple of tid-bits you may not be aware of (that are easy to test):
    Q1) After your application opens/creates a file and starts using the file-reference to make file writes, if an external source changes the file-name of that file... guess what will happen on your next write function call?
    A1::  The write successfully updates the newly re-named file with your new data without producing an error or a warning.  (At least this is the case if your program is running on a vxWorks cRIO target and the file-name is changed directly on the cRIO via an FTP browser.)  
    Did this surprise you? It did surprise me!  -My handwavy explanation is that the file-pointer is perhaps managed/maintained by the OS, so when the OS tells the file-system to rename that file, the pointer that LabVIEW holds remains valid and the contents of the memory at the pointer location was updated by the OS.
    Q2) Continuing from the situation setup in Q1, after writing several new chunks of data to a file now currently named something completely different than when the file reference was originally created, you use the close function to close the file-reference.  What do you expect on the file-path output from the close function??  What do you actually get??
    A2::  The close function will 'happily' return the ORIGINAL file-name, not the actual file-name it has been successfully writing to(!).   This has some potentially significant ramifications on how/what you can use that output for.  At this point there is a ton of room for pontifications and more or less 'crazy' schemes for what one could do, but I argue that the bottom line is that your application has at that point completely lost the ability to accurately and securely track your file(s).  Yes, you could list a folder and try and 'figure out' if your file-name was re-named during writing and you can in various ways make more or less good 'guesses' on which file you in reality just had open, but you can never really know for sure.
    So, what do you guys think?? Is the behavior of returning the (incorrect) original file-path when you close the handle a BUG or a FEATURE??  Would it not be possible for LabVIEW to read back the data contained in the (OS?) pointer location and as needed update the file out path data when it closes a reference?  Should we not EXPECT that this would be the behavior?
    Q3)  Again, continuning from the above situation, lets assume we are back at the state in Q1, writing data to a (re)named file.  What happens if the file is deleted by an external process? What happens to the file reference? File function calls using the reference?
    A3::  This one is less surprising.  The file reference remains 'valid' (because it is a valid reference), but depending on the file function you are calling, you will get error such as error 6 (binary write reports this), or error 4 (a TDMS write will report this error), etc.  So as long as you don't rely on file ref-num tests to establish if you are good to go with a file-write or file-action, you should be safe to recover in an appropriate way.. Just don't forget to close the file-reference, even if the file is 'gone', the reference will still remain in memory until you 'close' it (with an error)(?I might be wrong about this last part?)
    I am not sure if the above is possible on e.g. Windows, Windows would probably prevent you from re-naming a file that has an open file-handle to it, but this is definitley observable on at least vxWorks cRIO targets.  (I don't have PharLap ETS or RTLinux devices so I can't test on those targets.. if you want to test its pretty straigth forward to make a simple test app for it.)
    [begin rant-mode related to why I found this out and why this behavior BITES]
    There are situations where the above situation could cause some rather annoying issues that, for somewhat contrived reasons related to cRIO file API performance, CPU and memory resource management, are non-trivial to work around.  for example, using the NI "list folder" to listing folders take a very hefty chunk of time at 100% cpu that you cannot break up, so polling/listing folders after every file update (or even on a less regular interval) is a big challenge, and if you are really unlucky (or didn't know any better) and gave the list command in a folder with 1000's of files (as opposed to less than about 100 files), the list will lock your CPU at 100% for 10's of seconds...  Therefore, you might be tempted to maintain your own look-up table of files so that your application can upload/push/transfer and/or delete files as dictated by your application specific conditions... except that only works until some prankster or well-intention person remotes in and starts changing file-names, because then your carefully maintained list of file-names/paths' suddenly fall appart.
    [\end rant]
    QFang
    CLD LabVIEW 7.1 to 2013

    Hey guys, thanks for turning out your comments on this thread!
    -Deny Access : still able to re-name (and delete) the file via FTP browser (didn't test other file avenues).  I think this is for the same reason that NI vxWorks targets (such as cRIO-9014) do not support the concept of different users with different rights, as such, everyone have access rights to everything at the OS level.  Another issue for me would be that "Deny Access" does not work on TDMS file references, so even if it worked, it would not help me.
    --> I strongly suspect that these things are non-issues or issues that can be properly managed, on the new NI LinuxRT targets since (the ftp is disabled by default) it supports user accounts and user restrictions on files/folders.  The controller could simply create the files in a tree where 'nobody else' has write access.
    Obviously nobody should mess around with files on a (running) cRIO, but customers don't always do what they are supposed to do.   
    As far as the 'resources' or overhead to update the file-refnum with the new information, this would not be needed to be done in a polling fashion, simply, when the file-close function is called, as part of that call it updates its internal register from the pointer data, so this should be a low overhead operation I would think?  If that is a true concern, a boolean input defaulting to not updating or a separate 'advanced close' could be created?
    I've included a zip with the LV2013 project and test VI's (one for tdms one for binary) that I've used. nothing fancy, but in the interest of full disclosure.  The snippet is the 'binary file' test vi, in case you just want a quick peak:
    Steve Bird's findings of (yet) another behavior on Pharlap systems is also very interesting, I think!!
    [EDIT]  JUST TO CLARIFY, on vxWorks, the re-named file keeps being successfully written to, unlike the PharLaps' empty file that Steve Bird found.
    QFang
    CLD LabVIEW 7.1 to 2013
    Attachments:
    cRIO Tests.7z ‏30 KB

Maybe you are looking for

  • Set password for database connection at runtime

    Hi there, is it possible to set the password and/or the user for the database connection at runtime. The use case is to read the values from a file and decrypt them, and the to establish the conenction. So that i don't habe to redeploy everything if

  • Can we upload more than 1000 records with BPS file upload pf

    We are using file upload functionality in BPS. Can we use this function to upload around 80,000 records at a time. We are unable to upload more than 1000 records because throws a time out error. Is there a setting that we can change to resolve this?

  • Materialized View big and empty after full refresh

    Background: Database 10.2.0.4 running on Windows 2003 Server R2 SP2. Materialized view MV_A, selects from 3 base tables, 2 of which are partitioned, fast refresh on demand, approx 33 million rows. Initially populated with a complete refresh of 31 mil

  • How to delete schedule line item

    Hi All, I want to delete schedule line entry for an item in R/3. How can i do this? Thanks, Nabha

  • Cross Browser/OS issue?

    Hi there, This website belongs to our school project and we are getting reports from the teacher assistance and the professor that the website is not funcationing properly. They are saying the menu on the bottom of the page is not showing so they can