What is the logic for the behavior of LV9 when opening vi references?

I recently started using LV 9 and I can't figure out what the rationale is for the LV 9 behavior when opening references to vis. The way I understand it, LV9 looks up vis using the absolute path on the disk where they came from when opening references, even if they are in memory. If just a vi name is given, LV9 tacks on the path of the referring vi on disk when trying to open the reference. So, as far as I can see, either an application opening references to vis needs to specify absolute paths to the location on disk and be modified whenever a dynamically called vi's location on disk is changed, or a dynamically called vi has to be saved in the same directory as the vi doing the calling or in a rigid and inflexible directory structure.  
Example:
I am trying to use a 3rd party library whose vis open a reference to a vi that I create, the name of which is obtained from those in memory using a name pattern. The library vis get the name of the vi I created and try to open a reference to it. Previously this worked because LV looked in memory for "my.vi" when opening the reference but this fails with LV9 because it apparently looks for, e.g., "D:\VI\3rdparty.llb\my.vi", not "my.vi". So, as far as I can see, I have to save my.vi in 3rdparty.llb in order to use it. And, if I want to use 3rdparty.llb in another application, I have to save other vis to 3rdparty.llb or create a new copy elsewhere and save to that copy for the new application. A similar situation would occur if I passed the name of my vi to the 3rdparty.llb vis - either I would need to pass an absolute path and modify my application if I ever want to move my.vi, or save it in 3rdparty.llb.
Another example:
I have a large application built into an executable that calls up to ca. 60 vis  using references.  Previously I could just specify the path to the executable, and I could easily open references to my vis. Now  (if I try to use the LV 9 file structure), I can't figure out the paths I need to open references. Either I have to specify the absolute path to the original location in my development directories, or I have to store all my source vis in some particular directory structure. If I want to reuse my vis in other applications (which I do) things would get pretty complicated. Likewise if I want to optionally open references in other vis than my top level vi (which I do), it seems well nigh impossible.
Basically I am struggling with the concept that an application remembers the directory structure where the source files were located, and/or depends on a particular directory structure of the source files to work. Maybe I'm missing some tricks that would make things easier, but someone will have to explain to me why these are good things. 

I appreciate the responses and explanations. I've certainly learned
some things. I have extensive experience using LV but over a fairly
narrow set of
applications so I'm certainly not aware of many of the possible
techniques.  I clearly don't use LV in the same way as what appears to
be the mainstream for LV programmers.
I have some additional
comments on the various responses:
"But
with VI libraries and LVOOP this had the problem that multiple VIs could
end up with the same name..."
I'm not clear what this means exactly. My first response would be
that it doesn't seem like a good idea in general to use different
portions of code with the same name in a single application. I'm
surprised this is even possible.  I don't think LV will even let me
build from a project in which it finds name conflicts for vis.  
"In addition to what Rolf wrote, it should be
pointed out that LV should NOT be looking for files if you built your
app correctly. Each VI maintains a relative path to all VI it calls and
it should know exactly where to find them (assuming they're there).
I think this illustrates one thing I was talking about. The
assumption appears to be that the organization of your source files is
an essential ingredient in the application that is built, which is a
foreign concept to me. My project file knows where all my vis are, the
applications build correctly, and, using the 8.x and previous file
structure for my exe, they work, and have for some time.  As far as I'm
concerned the main point of using a project that identifies my source
files is to be able to pull in code from different places - if I want to
use a different version of one of my dynamically called subvis, from a
different location, for example, I tell the project file to use the new
version and rebuild.  In your scenario, as I understand it, I'm not sure
why a project file in which you identify source files is even needed, 
if LV already knows everything about the components of the application
you're building.  As I mentioned, my primary application uses ca. 60
dynamically called vis. Most of these control different subsystems of a
large distributed hardware control and data acquisition system. All of
these are used sometimes when the application is used, but pretty much
never all of them at once - typically something like 10-30 of the
user-interactive vis are run at once. There is some communication
between them using globals, queues, and semaphores and such, but for the
most part they are independent and I test them separately. Until the
application is built and used, there is no need to run the entire
application  including all subvis, and I never do it. When I build my
application, the app builder finds all the vis I specify and constructs
the exe file including all the vis I've told it about. Before LV 9 it
never occurred to me that I might actually have to worry about being
able to find vis inside the executable. 
"However as tst has mentioned having an
executable search for VIs is a VERY VERY bad idea as it can break your
entire app if it happens to find the wrong VI at some point."
 I don't really follow this point at all. Where are these vis
masquerading as the ones I want that will break my application? The only
vis on the machines where my applications are used are there because I
put them there inside the executables. I certainly would never use
different vis with the same name in an application - as I said above, I
don't even know if it is possible, and don't want to find out.  Search
paths to find components like shared libraries are a common thing. It
doesn 't seem like a stretch for the run-time environment to define a
default search path like "somewhere in the exe file containing the
application".
I don't want to make a mountain out of a mole hill here, as I said
before, I am happy as long as NI supports the 8.x file structure, but if
nothing else I have definitely learned to appreciate how different
executables built w/ labview are from executables  constructed in other
systems. 

Similar Messages

  • Extract file...I want the logic for the following case.

    Hi Guys,
    i_final having the following inputs.
    I_FINAL                                                                           
    MATNR      MAKTX          CHARG                                                                               
    SK45        PROSK         A 
    SK45        PROSK        
    SK45        PROSK        02/2007 
    BP013       PROSK
    BP014       PROSK       02/2007 
    I want  the following output.
    I_FINAL                                                                           
    MATNR      MAKTX          CHARG                                                                               
    SK45        PROSK         A 
    SK45        PROSK        02/2007 
    BP013       PROSK
    BP014       PROSK       02/2007 
    In the above case for MATNR-SK45 if CHARG is  space & has other entries then it should not display SPACE in the CHARG field.
    In case of  BP013  if CHARG is space & has no Other entries means, no other line items, it should display the SPACE in the CHARG field.
    NOTE: No duplicate records for the Field CHARG.
    can you tell me the logic using the above example ..
    Please help me.I need Urgent..

    Exactly what issues are you having with the autonaming? What is the file name going to be based on? There are all sorts of conversion functions. You might need to convert a number to a string and then something like the Build Path or String to Path functions. The Write LabVIEW Measurements File has an option to autoname files. You can look at how it's done there by simply right clicking on the function and selecting Open Front Panel.

  • How 2 Set the logic for report 2 run 1st of everymonth......

    Hi Experts,
    i ve developd a HR-ABAP report in that Some part of code will Mon-Fri, Excluding Public holidays and sat & sundays...( i.e no public holidays and no sat & sundays)
       and some part of should Run on 1st of everymonth.... but 2 parts of code should be in same report..
    How can set the logic to run the report respective times....
    Thanks in Advance....
    sudeer.

    you can code this but need some good expertise on fm's  , date handling techniques and subroutine call coding.
    1.
    to make the code run only on 1st of every month
    capture the rundate of ur prog .. take value of  sy-datum
    ex.. 01.xx.yyyy
    or date std will be yyyymmdd so check for dd = 01 ..
    so per logic first two chars show that its first of any month in any year ..
    if yes
    execute the logic for the first of every month ..
    endif.
    2.
    where the code needs to be run on mon-fri and not on public holidays / sun / sat ..
    first fetch the day based on date .. like mon or tue or wed .. except sat and sun..
    second check whether if m-t-w-th-fr if any of them is  a holiday or not
    u need to check the date in the calender list like tholi thoc and .. to check whether that is a holiday or not ..
    coming to sat and sundays .. u need to check the day for date using function modules and build the logic ...
    br,
    vijay..

  • What is the logic for 2LIS_17_I3HDR to pick a order as completed on time?

    Hi, Experts:
    I am working on PM using 2LIS_17_I3HDR to load data. In 2LIS_17_I3HDR, there is a field called "orders completed on-time". I am wondering what is the logic for 2LIS_17_I3HDR to identify if an order was completed on time. I would assume it compares some kind of completion/finish date with a planed/schduled comletion/finish date. Would someone please tell me what fields in what table or in transaction IW39 DOES does 2LIS_17_I3HDR  use for this?
    Many thanks!
    Jenny

    Hi, Ram:
    Thank you for the reply!
    The key figure is ZHLAFIH_TGERL (Number of On-time Closed Orders). I saw some SAP programs refering to its component type "DZHLAFIH_TE" too.
    Thanks,
    Jenny
    Edited by: Jenny Chen on Dec 2, 2009 7:53 PM
    Edited by: Jenny Chen on Dec 2, 2009 7:55 PM

  • What is the logic in the Application Builder

    Hi guys,
    What is the logic in the application builder when creating e.g a Report. When we create a static report we go through these four steps:
    <ul>
    Display Attributes
    Source
    Report Attributes
    Conditional Display </ul>
    Starting from the "Source" step we can Click "Create Report", and create the report .....
    is there a table for each step... or there is a collection for each step. So, when we click Create Button the collections are inserted into tables, then get emptied. ?????
    In my case, i have three real-estate entities: landlords, properties, and marketing. it goes like this:
    enter the landlord details, then click create to move to the next page to enter the property details, then click create to move to the next page to enter the marketing details.
    i hope that my question is clear..
    Best Regards,
    Fateh

    Fateh wrote:
    Hi guys,
    What is the logic in the application builder when creating e.g a Report. When we create a static report we go through these four steps:
    <ul>
    Display Attributes
    Source
    Report Attributes
    Conditional Display </ul>
    Starting from the "Source" step we can Click "Create Report", and create the report .....
    is there a table for each step... or there is a collection for each step. So, when we click Create Button the collections are inserted into tables, then get emptied. ?????
    In my case, i have three real-estate entities: landlords, properties, and marketing. it goes like this:
    enter the landlord details, then click create to move to the next page to enter the property details, then click create to move to the next page to enter the marketing details.That would be called a "wizard" in APEX (as frequently used in the Application Builder as you say). There's a "Wizard wizard" as an option when creating a new page that enables you create and link the basic multiple page structure. Themes have "Wizard Progress List" (vertical orientation) and "Wizard Progress List, Horizontal Train" (horizontal) list templates that can be used as stage progress indicators. You have to construct the contents of each page using standard components. Once the "Wizard wizard" is completed there's nothing to indicate that the pages are logically related&mdash;strangely it doesn't even generate a wizard progress list for you.
    Use Collections to store the data from intermediate stages before final processing if all of the data is captured in one session. If you want persistence across sessions (e.g. allowing users to enter information over several days) use separate drafting/staging tables instead of/in addition to collections to capture the data before final validation and promotion to the main tables.

  • HT201269 When I try to setup my new iPad air, I go through all the steps for the iCloud sign-in and choosing security questions and what not. But after I hit the agree to the terms and conditions... It says Apple ID could not be created because of a serve

    When I try to setup my new iPad air, I go through all the steps for the iCloud sign-in and choosing security questions and what not. But after I hit the agree to the terms and conditions... It says Apple ID could not be created because of a server error. Have no clue what to do... I've restarted the iPad and get the same message. But my internet works just fine.

    1. Turn router off for 30 seconds and on again
    2. Settings>General>Reset>Reset Network Settings

  • I have just getting a new phone and I have forgot my password an Apple ID what I made new for the new phone now I cannot get on it because asking for id and password what should I do help plz thank u

    I have just getting a new phone and I have forgot my password an Apple ID what I made new for the new phone now I cannot get on it because asking for id and password what should I do help plz thank u

    Try
    https://iforgot.apple.com

  • I´ve bought the new IPad3, what a disappointment the 3G does not work, no Internet available, APPLE what are you doing for the all the people in Germany who bought the new IPad3? I´m still an Apple fan, all my products are from Apple but I need a solution

    I have been waiting since months for the new IPad4G 64 Gbt. ON recommendation of Apple Support I have changed my IPad 4G last week in the hope that something was wrong with the firts one I bought.
    The one I have now has the same problems. WiFi is working however 4G not at all. Apple what can I do? What are you doing for the thausands of German Apple fans who have bought a IPad4G and can not use it. We need a solution NOW. I´m working with this tool and need to be able to rely on it.
    Thanks for a feed back.

    JKerki wrote:
    They had not heard about the problem, however made no problem to change it for an other one. Apple Support Germany pretendet not to know about this problem. However the web is full of complaints.
    It would be advisable for Apple to react officially on it. € 799, - for something that doesn´t function is no fun :-((
    Isn't replacing your iPad Apple "officially" acting on it?

  • TS3212 it says that the download for the new itunes is not a valid Wn32 application. what do i do?

    it says that the download for the new itunes is not a valid Wn32 application. what do i do?

    I'd first try downloading an installer from the Apple website using a different web browser:
    http://www.apple.com/itunes/download/
    If you use Firefox instead of IE for the download (or vice versa), do you get a working installer?

  • What are the settings for the outgoing mail server for icloud on Outlook for Mac, what are the settings for the outgoing mail server for icloud on Outlook for Mac

    what are the settings for the outgoing mail server for icloud on Outlook for Mac, what are the settings for the outgoing mail server for icloud on Outlook for Mac

    iCloud Mail Settings

  • What are the settings for the "Default Client Settings"?

    What are the settings for the "Default Client Settings"? I changed them instead of creating a new policy and would like to fix that.
    Thanks
    James A+, Network+, MCP

    Hi,
    The blogs below provides the default client settings.
    Default Client Settings in SCCM 2012 SP1
    http://prajwaldesai.com/default-client-settings-sccm-2012-sp1-sccm-2012-sp1/
    Note: Microsoft provides third-party contact information to help you find technical
    support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.
    Best Regards,
    Joyce

  • What are the parameters for the processes menu items

    Is there anywhere that lists out what the exact parameters of the process menu items are. i.e "Make Louder, Normalize, Hard Limit, Equalize Volume Levels",
    For instance when you use "Make Louder" you see the dialog box title change from "Analyzing peeks" to "Applying Hard Limit". What exactly is happening when these processes are being applied? I realize that the Hard limiter is being applied, but with what paramaters and what does "Analyzing peeks" really mean and is there a way to do that by its self and if so what can be learned by the results.
    I would also like to know the paramaters for the others as well. It would be helpfull to know, so one could dial up or down the paramaters to achieve a similar result, but with slightly more or less effect.
    Regards,
    Don T

    Nothin?

  • TS2756 iam using iphone 4S with win 7 PC and i cannot connect to the internet through my phone but i tried with my other 4S and it works but what should i do for the first iphone 4S???

    iam using iphone 4S with win 7 PC and i cannot connect to the internet through my phone but i tried with my other 4S and it works but what should i do for the first iphone 4S???
    as i said i have two iphone 4S,,,,,
    1st one --- has os 5.1
    2nd one has os 6.0
    i tried 2nd one with carrier reliance gsm nd it works with that personal hotspot setting using USB...
    but i want to connect the first 4S with carrier TATA DOCOMO GSM but its not working with the same USB feature????
    plz reply asap...!!!
    thnxxx in advance!!!

    If not this:
    iOS: Wi-Fi or Bluetooth settings grayed out or dim
    One user reported that placing the iPod in the freezer fixed the problem.
    Also heating sometimes works. See:
    Why can't I select my wifi settings?
    A trick that works frequently with iPhones:
    Settings > AirPlane Mode ON, Do Not Disturb ON
    Power down and wait 5-10 minutes
    Power up
    Settings > AirPlane Mode OFF, Do Not Disturb OFF
    If not successful, an appointment at the Genius Bar of an Apple store is usually in order.
    Apple Retail Store - Genius Bar
    Then:
    Does the iOS device connect to other networks? See other networks? If yes that tends to indicate a problem with your network.
    Does the iOS device see the network?
    Any error messages?
    Do other devices now connect?
    Did the iOS device connect before?
    Try the following to rule out a software problem:                
    - Reset the iOS device. Nothing will be lost
    Reset iOS device: Hold down the On/Off button and the Home button at the same time for at
    least ten seconds, until the Apple logo appears.
    - Power off and then back on your router
    .- Reset network settings: Settings>General>Reset>Reset Network Settings
    - iOS: Troubleshooting Wi-Fi networks and connections
    - Wi-Fi: Unable to connect to an 802.11n Wi-Fi network      
    - iOS: Recommended settings for Wi-Fi routers and access points
    - Restore from backup. See:
    iOS: How to back up
    - Restore to factory settings/new iOS device.
    If still problem and it does not connect to any networks make an appointment at the Genius Bar of an Apple store since it appears you have a hardware problem.
    Apple Retail Store - Genius Bar

  • What is the path in the filesystem for the deployed Wendynpro application .

    What is the path in the filesystem for the deployed Wendynpro application in the WAB AS
    We have a different version of webdynpro application running in production and non production , what is the process for overwriting the deployed application from one enviorment to another.
    Please help..

    Hi,
    What is the path in the filesystem for the deployed Wendynpro application in the WAB AS
    If you search for your component under the /usr/<SID> folder
    We have a different version of webdynpro application running in production and non production , what is the process for overwriting the deployed application from one enviorment to another.
    If you have NWDI in place CTS would help in this, else you can deploy your application using sdm.
    in CE you can deploy the application from NWDS.
    Regards
    Ayyapparaj

  • How do I change the size of the tools and the text for the menus in Photoshop?  I need a magnifying glass in order to make out what they are.

    How do I change the size of the tools and the text for the menus in Photoshop?  I need a magnifying glass in order to make out what they are.

    Okay, I've figured it out, so I'm going to answer my own question in hopes that it may help anyone else that would like to actually be able to see what they're doing when using Photoshop CC 2014 on a high resolution screen.
    1.  Open Photoshop.
    2.  Select Preferences from the Edit Menu, then select General.
    3.  Change the HUD Color Picker to Hue Strip (Medium).
    4.  Select Interface from the Preferences menu on the left side of the dialog box.
    5.  Change the UI Font Size to Large in the Text area of the Preferences dialog box.
    6.  Select Experimental Features from the Preferences menu on the left side of the dialog box.
    7.  Select Scale UI 200% for high-density displays (Windows only).
    8.  Click on OK, then Exit/Quit Photoshop.
    9.  Open Photoshop and everything should be readable.

Maybe you are looking for

  • Communication Channel Inactive but Still processess the file

    hi all - New PI 7.0 installation. Going through lot of issues. XI, CRM and other systems reside on the same server. SLD resides on the same server but different SID. I had made some changes to the communication channel - made it active, inactive, cha

  • Pdf file opens in Photoshop Elements.

    I am trying to help a friend download a camera manual that is a pdf file. Whether it is from his original disc or from the website it wants to open in Photoshop Elements, and so is unreadable. He has Windows XP. How can we change it to open in Word?

  • Instance Variables

    Just out of interest : If I have an instance variable that is an object, should I set it equal to null and then instantiate it in the constructor: class MyClassA{    MyClassB b = null;    MyClassA(){         b = new MyClassB(); OR should I just insta

  • Can't boot my Powerbook G4 from a DVD

    I am going to give my Powerbook G4 to a friend, so I thought I would wipe the drive and reinstall to OS. I was running 10.39. I started zeroing the drive and it locked. It finally quit booting from the DVD, so I connected it to my MacPro Intel with f

  • Installing apache weblogic plugin in linux

    want to install weblogic plugin in apache running on redhat Linux WS4. I have read the documentation. In my local weblogic,under this directory C:\bea81SP4\weblogic81\server\lib\linux I see the following three folders a) i686 b) ia64 c) s390. I dont