Programmatically determine version

Is there a way to retrieve a program's version from within the
program itself? I would like to output the program's version
when writing debug messages to a log file. Other version control
systems such as sccs and RCS allow embedding special strings in
a file which are replaced with descriptive text such as the
program's version when the file is checked out. Is there similar
functionality with Repository?

Oracle Consulting has produced this functionality as an add on
to Designer. If you are interested, your local Oracle
Consultancy representative can provide you with this add-on for
Keyword Expansion; they can contact the iDevelopment Center of
Excellence ([email protected]) for details.
The add-on allows you to expand or substitute keywords in your
source files with the following values:
- version label
- check in time/date
- check in user (author)
- check in branch
- check in notes
- object name
- folder path
- change history
- merge contributors
- originating version
The utility allows you to define your own keywords.
Also, the version label for forms etc. can be made visible at
runtime.
Regards,
Jan Willem Janse, Oracle Consulting

Similar Messages

  • Programmatically determine if a cRIO is connected to your computer

    I'm trying to programmatically determine if a specific cRIO is connected to my computer.  What is the best way of going about this (if I know the name and the IP Address)?  The closest I've come is getting a system sessions constant that is a dropdown of all that are connected to the computer, but I can't find a way to access all of the values in the dropdown (only the one that is selected).
    Thanks, Emily
    LV2012, Win7, 64-bit

    Emily101 wrote:
    No, I can't disable the firewall and don't have any control over it... This is a separate issue that other people within my company have been working with our IT department and NI on.  I can see it in MAX if I manually add the IP Address but MAX doesn't automatically discover it. 
    I found another way of detecting if it's connected using shared variables, but if anyone knows of another way to do it in LV2012, I would still be interested in hearing about it.
    If MAX doesn't see it, then it is most likely a firewall issue. I believe the way Max discovers controllers is by reading UDP messages the controllers broadcast. If the firewall is blocking it, then you wont' be able to see it. I have run into this at some of our customers sites, although I can't remember exactly what we did to check. I think we were able to ping them still, so we just pinged but didn't look for the controller name specifically, as you are trying to do.
    CLA, LabVIEW Versions 2010-2013

  • Programmatically determine steps referenced in an expression

    Is there an elegant way to programmatically determine any steps that are reference in an expression using API. 
    Such that
     AllOf(RunState.Sequence.Main["ID#:AzvyVD4OcUiZz2vk3ZHknA"].Result.Status == "Passed", RunState.Sequence.Main["ID#:0RT7Ih2QQkimHpGGh30sIA"].Result.Status == "Passed")  Would return ID#:AzvyVD4OcUiZz2vk3ZHknA and ID#:0RT7Ih2QQkimHpGGh30sIA in an array of strings or something along those lines.
    Herrlin
    Just trying to spread the LabVIEW love.

    John B
      Thanks for the reply.
      I actually did implement a similar solution to what you described.  I originally didn’t share the entire scope of what I was trying to accomplish.  I wanted an entry point that would run selected steps and actively look for any steps referenced in the preconditions of the selected steps.  If a step was reference the entry point would know that it also had to run this step.   This will be a useful tool for debugging, since it will record results as well as run steps that the selected test is dependent on, in a sense.
      My team made a decision that we would only be using unique ids to reference steps in expressions felt this was a better programming practice.  Also we only needed this function for the MainSequence of a sequence file.  In addition we always wanted Setup and Cleanup groups to remain the same.  So we only needed to search each precondition for the unique step id of steps that where in the Main group of the MainSequence.
      I have attached the new sequence file I made with a Custom entry point.  The entry point is almost an exact copy of the single pass entry point with a couple of modifications.
    1 It calls Configure Temp Sequence
    2 It references a temp sequence file what during the MainSequence Callback instead of the Client file
    3 In the Cleanup it closes the reference to the temp sequence.
      Also there are two new sequences:
    Configure Temp Sequence
    Get Steps to Exe
      Any way just thought you might be interested and this was no easy task for me so I was excited to share.
      Thanks
    Dan H
    Herrlin
    Just trying to spread the LabVIEW love.
    Attachments:
    ModSequentialModel.seq ‏42 KB

  • Programmatically determine USB type

    Hi all,
    This is likely one of those really obvious things that I've somehow just missed, but I was wondering if anyone knew of a way to programmatically determine whether a device I'm communicating with is using USB 1.0 or 2.0?  I'm working on a VISA driver for an USB instrument that returns a data set in a completely different format depending on what kind of USB port it is plugged into.  The instrument itself automatically determine which format it will use - and there doesn't appear to be any obvious status/data type indicator I can read off the instrument.  I could pull the data in and analyze it to determine the format, but that seems clumsy.  It would be much better if I could just detect the type and parse the data based on the type...
    Any help at all would be appreciated!
    Thanks,
    Jason

    I'm currently doing some programming with the FTDI chipset of USB devices.  The FT_GetDeviceInfoList query contains information regarding the speed.  The D2XX_Programmer's Guide descriptions lists: 
    The flag value is a 4-byte bit map containing miscellaneous data as defined Appendix A – Type Definitions. Bit 0 (least significant bit) of this number indicates if the port is open (1) or closed (0). Bit 1 indicates if the device is enumerated as a high-speed USB device (2) or a full-speed USB device (0). The remaining bits (2 - 31) are reserved. 
    I also believe the information is stored in the EEPROM (again, depending upon the chip).  There is a BCD field that is either 0x0110 or 0x0200 depending upon the speed.
    Jason
    Jason

  • How to programmatically determine if  an object is ready to be destroyed?

    Dear All,
    How can I programmatically determine that whether an object is ready to be garbage collected? I know that the garbage collection process is not guaranteed to occur until the JVM is close to running out of memory. Yet, it is also said that an object is ready for garbage collection if there are no more references to it. Therefore, I am wondering if we have means to know whether an object is ready to be garbage collected, even though that may not happen yet.
    For example, if I define such a simple class structure:
    public class A
    B b = new B();
    public void methodA()
    b.printB();
    public static void main(String[] args)
    A a = new A();
    a.methodA();
    class B {
    public void printB() {
    System.out.println("from B");
    Here I am assuming the object b (of type B) is ready for garbage collection BEFORE the object a (of type A), because the object b is declared and created as a field within object a. Is this assumption true? If yes, how can I verify that during runtime?
    Thank you very much for any help!
    -- SunnyDay

    1. It seems that the System.gc() should be called to make sure garbage collection is performed so that all those WeakReference objects are put into the ReferenceQueue (suppose no strong references to those
    objects to which the weak references are pointing). Is all of this guaranteed to happen? That is, is it guaranteed that those weakly referenced objects are being garbage collected and their WeakReference objects are put into the queue, whenever the System.gc() is called?
    No, it is not guaranteed. Though it seems to be true for current implementation of JVM, where System.gc() usually does Full GC. However, you should not rely on this and it can be in fact changed in future implemenations.
    2. The WeakReference description says the garbage collector may enqueue the newly-cleared weak reference "AT SOME TIME AFTER" the weak reference is cleared. If this happens to be the case, how can I know which
    object is deleted first in my example (e.g., if the weak reference of object A is put into the queue before that of B, it may falsely indicate object A is destroyed beofore B)?
    Yes, it is quite possible for weak reference to be enqueued in different order.
    3. Suppose System.gc() is called and an object's weak reference is put into the queue, can I still know which object is being destroyed at this moment?
    You can't. In fact, java threads may be stopped while GC is running. GC may free memory for multiple objects at once (which in fact happens with Mark-Sweep algorithm). So, "destroyed at the moment" does not make sense from this perspective.
    If can gave us more details on what you are originally trying to do, probably we could find another solution.

  • Programmatically determine group membership under NI Security

    I am trying to use NI Security provided with the LV DSC module (v8.2).  I would like to be able to programmatically determine the group membership of a given user.  Is there a way to do this?
    Thanks,
    --David Moerman

    David,
    Also, here is a Knowledgebase article that covers the same topic:
    Programmatically Determining which Security Groups a User Belongs to Using LabVIEW DSC
    http://digital.ni.com/public.nsf/allkb/99A026B68D18B484862571DC006CD8EB?OpenDocument
    Message Edited by Coal Man on 06-19-2007 09:12 AM
    Brian Coalson
    Software Engineer
    National Instruments

  • Determine version used to create a report at runtime?

    Is there a way to determine what version of Crystal was used to create a report during runtime?  I've looked at the objects and cannot find a property that might be used.  There is a File Forrmat Schema property in the Report Definition item in the Performance Information Menu option in the designer that might be useful, but can't find a way to get in in the object model.  Any ideas would be appreciated.

    Directly off of the ReportClientDocument class there is a MajorVersion and MinorVersion property that contains this information.

  • How to determine version of SQL Server

    In SCCM 2012, I  would like to determine all versions of SQL Server (version + Edition) in my environment.
    Sherry Kissinger
    http://myitforum.com/cs2/blogs/skissinger/archive/2010/12/20/installed-sql-05-and-08-version-information-via-configmgr-hardware-inventory.aspx  has this .mof extension.  Can it be updated to include SQL server 2012 and instructions for importing
    into SCCM 2012?
    Asset Intelligence brings back some good information, however, no great way to filter as Microsoft wasn't consistent on naming the application.

    ah, I see the problem myself.  in the blog, somehow the configuration.mof section you are to copy and paste , the stuff that is "supposed to be" between the "" after "ViewSpaces" is just plain and simply missing. 
    Don't know how the code simply got wiped...
    anyway, if you look at the one that's for sql05 and sql08,
    http://myitforum.com/cs2/blogs/skissinger/archive/2010/12/20/installed-sql-05-and-08-version-information-via-configmgr-hardware-inventory.aspx, notice in the configuration.mof section, viewspaces has two different things for sql05/08?  of
    ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement10"}  (for 08)
    and {"\\\\.\\root\\microsoft\\sqlserver\\computermanagement"}  (for 05)? 
    The new blog for 12 and 14 that's just plain missing.  goofy copy/paste!! anyway, what you need is to update your configuration.mof, and put in the correct stuff between the {""} in the Viewspaces area of each of the sections.  Above
    are the ones for 05 and 08,
    12 is:  ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement11"}
    14 is  ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement12"}    I'll see if I can edit that blog post with and get the stuff to "stay".
    Edit:  ok... blog post updated.  Hopefully that'll 'stick'! 
    http://www.mnscug.org/blogs/sherry-kissinger/328-installed-sql05-sql08-sql12-sql14-version-information-via-configmgr-hardware-inventory
    Standardize. Simplify. Automate.

  • How do I programmatically determine the cursor legend refnum?

    I am determining the controls and such of a front panel programmatically as I have a need to be able to modify panels quickly without the manual editing necessary. I need to know how to determine the refnum of a cursor legend for a waveform or XY graph in a programmatic fashion rather than by creating a reference node.

    That is a good question. The cursor legend reference is not returned if you get a list of all the object references. The graph is, so you can get its reference and get the cursor legend reference from it. You probably only need to look at the ones with a visible property set to true.
    Bob Young - Test Engineer - Lapsed Certified LabVIEW Developer
    DISTek Integration, Inc. - NI Alliance Member
    mailto:[email protected]

  • Determine version of air runtime from web page?

    Hi,
    We've noticed that the certain versions of air are not automatically updated when our application is installed.  An "installer is damaged" message is displayed for a few versions of air (e.g. 2.0.4 and 2.5):
    AIR 1.5: app install dialog with option to download AIR 3.6 is shown. INSTALL OK
    AIR 2.04.: app install dialog with option to download AIR 3.6 IS NOT shown. INSTALL FAILS
    AIR 2.5.: app install dialog with option to download AIR 3.6 IS NOT shown. INSTALL FAILS
    AIR 2.6: app install dialog with option to download AIR 3.6 is shown. INSTALL OK
    AIR 2.7: app install dialog with option to download AIR 3.6 is shown. APP INSTALL OK
    In these cases we've asked customers to manually upgrade air and then install our application. This works OK, but what I'd like to do is check the version of the air runtime installed on the customer's machine when they download our install file from a web site.
    I looked into air.swf and I'm able to determine if air is installed. What I'd really like to do is check for certain versions and ask the user to manually update air.
    Is it possible to check the version of air installed from air.swf or another mechanism on a web page?
    Thanks!

    Please don't post the same question multiple times!

  • Help on determining version for existing forms & porting to Forms 9i

    I'm new to Oracle and Oracle Forms.
    I have a large number of *.fmb, *.fmx, *.pll, *.sql files (all developed in the early 1990's).
    I am trying to convert them to 9i. Are there any "How-To's" on the subject?
    Is there a tool to help me determine what the original Forms version is?
    Also . . .
    When opening a *.fmb in Forms 9i, I get the error "FRM-10102: Cannot attach PL/SQL library <filename>.pll. This library attachment will be lost if the module is saved.
    I opened the specified *.pll file and then another form and received the same error.
    Any help or direction will be greatly appreciated.
    Thanks in advance.
    Brian Atkinson

    Generally speaking you can just open up a form in 9i and that will upgrade it. There are specific issue on moving from client/server to the web and you can go to otn.oracle.com/products/forms and click to view the Forms Upgrade Centre.
    The error you are getting probably means that the form has a library attached but when you open that form it cannot find it.
    What I would do is make sure the location of the pll files is on the FORMS90_PATH environment variable (in the registry on Windows).
    Another note - you can go to otn.oracle.com/products/forms and click to download other versions of the software - including 6i. However while it may only be certified to go to 61 and then 9i, in many cases you can go directly from 4.5. to 9i.
    Hope this helps.
    Regards
    Grant Ronald
    Forms Product Management

  • Programmatically determine the TAB I am on ??

    HI,
    I am building an POrtal that would have
    few different tabs. In each of these I do
    something different in the Portlets, and so would like to programmatically know what TAB the User is seeing at a given point in time.
    Q1 - Do, the TABS also have unique page ids
    OR are they the same for all the TABS in
    given page ??
    Q2 - If they all have the same pageid, I am using the session variable to determine the name of the tab. I have an API that stores the name of the TAB in a cookie.
    But there is a time delay betw. storing and fetching the cookie value after the tab has been rendered.
    So, is there a better way to do this ??
    thanks
    -Ananth

    Good question. We too are interested in doing this. If I come across anything I'll be sure to post it as a reply.

  • Determine Version of Embedded Controller Program in T-40

    Using the reboot and press the ACCESS IBM button method doesn't reveal which version of the Embedded Controller Program is on the older T-40's.  How would I determine if I have the most recent version? 
    Thanks
    T41 2373-7FU
    Windows XP Pro, 1.6GHz Pentium M, 2GB RAM, 160GB HDD

    Using the reboot and press the ACCESS IBM button method doesn't reveal which version of the Embedded Controller Program is on the older T-40's.  How would I determine if I have the most recent version? 
    Thanks
    T41 2373-7FU
    Windows XP Pro, 1.6GHz Pentium M, 2GB RAM, 160GB HDD

  • All InDesign Versions--determining version before opening

    At one point I scan a variable number of documents for information.  This involves opening the document, going through it, and closing the document.
    If I open a CS3 document in CS5, no problem.  But if I open a CS5 document in CS3, InDesign crashes.
    I know that I can open each document using STDIO and read the 31st byte (I believe it's that one) to determine a version, but is there any better way?  Please remember that this needs to work on both platforms, so reading the Mac type isn't a good solution.
    TIA!
    John

    JADarnell wrote:
    Good morning Sir/Madam:
    First of all, thanks for the contribution.  Though I may respectfully disagree with you, I still greatly appreciate the fact that you went out of your way to contribute to this discussion.
    I'm a Sir
    How come you think you disagree? There is nothing strange about some value in the header being designated as "the official version number". Adobe likes to keep this information well under wraps in the SDK, but perhaps there is a reason for that. In any case, the variable names I used come from a document on XMP:
    http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/XMPSpecifica tionPart3.pdf
    -- see page 38 for their (somewhat abbreviated) structure of INDD files headers. The long word starting at position 29 (where the first byte is number 0) is not specified in there but has been confirmed as the actual version number.
    In this header you also find the Object Stream Endianness specification, and (from memory) you need that to successfully parse files older than CS3.
    Originally, the endianness of long words in InDesign files depended on the platform they were created with, but Adobe decided somewhere along the line it would be smarter to just make the endianness a part of the "official" specs. To read older files you still need the code, though. It's very well possible your Mac/Win files are just not old enough. My personal code for this works with INDD files for as long back as I care to look -- *at least* back to InDesign 2.0 (and then only because I cannot find older files).
    Then again, I admit all of the above is my personal conjecture. If you still want to disagree, you're free to examine the files yourself and devise something that works better.

  • Determine Version of JDK

    How can I determine if I am running v1.1 or 1.2 of the JDK inside Oracle from a SQLPlus prompt?
    Thanks,
    Richard Williams

    I have a confusion about the JDK version it runs for the Oracle 8.1.6 JVM.
    If I log into JServer using session shell to the sess_iiop port and type "java -version", it shows me "1.0". Oracle says, 8.1.6 runs JDK1.2.x version. Why then it shows "1.0" versioin?
    Can any one update me about this confusion?
    null

Maybe you are looking for

  • Re: [iPlanet-JATO] Re: onBeforeRequest(); Finding requested view from requestContext

    If you want to stop a JATO request in its tracks, you have a little black magic at your disposal: you can throw a CompleteRequestException. This indicates to the JATO infrastructure that it should immeditately stop handling the request, but not gener

  • Tools for UCCE/CVP Project phase?

    Hi, there are plenty of customer phasing/ post project wallboards, reporting tools, admin tools out there. My compnay is looking into some UCCE/CVP Project phase tools which can help the engineers in deisgn, deploy, call flow dev, testing etc phase o

  • Recording Sound

    Hey, Im into online gaming, and with the team we have a lot of discussions on the PS2. What we want to do is start recording these discussions and post them on the net. We communicate through a USB headset. Is there a way that i can record the talk g

  • Which table the dynamic selection view will be stored

    Dear Freinds,                   I  have created a dynamic selections view form Se80 > Editobject>Selection view > Created by adding the required tables pa0002,pa006,pa0009 . But the transport request we have saved it locally now i want to create a tr

  • What's a camcorder that's compatible with Final Cut Express

    I just got final cut express and I am looking for a camcorder from $200 to $400 that's compatible with it. I don't know much about camcorders, and some simple straightforward suggestions would be much appreciated Thanks!