Manipulating live objects in the Run Time system

A Graphic User interface exists that has GUI components say JButtons. This program cannot be edited.
If the container ( say a GUI panel , where this JButton resides ) of this GUI is obtained then the components in this container can be obtained using Components.getComponents () method. Also the listeners that are added to this components cane be obtained by the method Component.getListeners () for each of the GUI component.
Now ,when the original GUI program is run and a user clicks a JButton can the listener so obtained from the getListeners () method understand when this object has been invoked.

You don't have to use getListeners for this... but instead add your own listener on the button.
externalButton.addActionListener(new ActionListener) {
   public void actionPerformed(ActionEvent e) {
       System.out.println("external action event '"+e.getActionCommand()+"' received from "+e.getSource());
} Hope this helped,
Regards.

Similar Messages

  • How to get the SubVI(the virtual path is under .exe) reference in Run Time System

    Hi everyone
    The problem is about how to get the SubVI reference in Run Time System, when the SubVI is in .exe after building.
    More details:
    The top vi calls the SubVI by dynamic way, so the SubVI is included always, and the source object is the application.exe.
    After the setup above, the SubVI will be in the application.exe. For example, SubVI's path is ...\application.exe\SubVI.vi
    So, how to get SubVI's reference in Run Time System?
     I can not get it when using "open VI reference" with the path ...\application.exe\SubVI.vi in Run Time System.
    Actually, I can create a file to include the SubVI, instead of build the SubVI in application.exe , then I can get the reference convenintly. But it is not my favourate way.
    Thanks
    chenyin
    Solved!
    Go to Solution.

    Here is the problem. Call a dynamic subVI means users could change it but it's also very attractive.
    The dynamic call must be used within a user mastered but some parade can avoid problems.
    It depends of why you use dynamic calls... => 2 main ways:
    - Dynamic call are use to maintain an evolutive  part of the code without acting on the executable => one unique VI distribution maintained by the administrator/developer
    - Dynamic call are use to provide a collection of 'external' feature which could be enriched by the administrator/developer. For example, you provide to your customer a set of custom signal filters selectable in the executable.
    In the 2 cases, you are only able to assess user skills to know if there is a risk of damage if there is modification.
    So, to stay alone master a parade could be to provide dynamic VI without diagram but with the problem of maintenance because no modification in situ and more attention to manage distribution.
    An other way is to hide the real distribution to user => call dynamic VI but unnamed it as *.vi but other (a repulsive name as OS system name ) or simply with no extension in order to not  attract user... but it's questionable...
    Another method more difficult but safer is to create a test of consistency ahead of your routine (version, user, modification date, ...)

  • Error -1074384569; NI-XNET: (Hex 0xBFF63147) The database information on the real-time system has been created with an older NI-XNET version. This version is no longer supported. To correct this error, re-deploy your database to the real-time system.

    Hello
    I have a VeriStand-Project (VSP) created with my Laptop-Host (LTH) which works with my PXI, while
    deploying it from my LTH. Then I have installed the whole NI enviroment for PXI and VeriStand use on a
    industrial PC (iPC). I have tried to deploy my VSP from the iPC to the PXI but the following error
    message arose on my iPC:
    The VeriStand Gateway encountered an error while deploying the System Definition file.
    Details: Error -1074384569 occurred at Project Window.lvlibroject Window.vi >> Project
    Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi
    Possible reason(s):
    NI-XNET:  (Hex 0xBFF63147) The database information on the real-time system has been created with an
    older NI-XNET version. This version is no longer supported. To correct this error, re-deploy your
    database to the real-time system. ========================= NI VeriStand:  NI VeriStand
    Engine.lvlib:VeriStand Engine Wrapper (RT).vi >> NI VeriStand Engine.lvlib:VeriStand Engine.vi >> NI
    VeriStand Engine.lvlib:VeriStand Engine State Machine.vi >> NI VeriStand Engine.lvlib:Initialize
    Inline Custom Devices.vi >> Custom Devices Storage.lvlib:Initialize Device (HW Interface).vi
    * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * • Unloading System
    Definition file... • Connection with target Controller has been lost.
    The software versions of the NI products (MAX/My System/Software) between my LTH and the iPC are
    almost the same. The only differences are:
    1. LabView Run-Time 2009 SP1 (64-bit); is installed on LTH but missing on iPC. The iPC has a 32-bit system.
    2. LabView Run-Time 2012 f3; is installed on LTH but missing on iPC.
    3. NI-DAQmx ADE Support 9.3.5; something strage on the LTH, because normally I am using NI-DAQmx 9.5.5 and all other DAQmx products on my LTH are 9.5.5. That means NI-DAQmx Device Driver 9.5.5 and NI-DAQmx Configuration 9.5.5.. On the iPC side all three products are 9.5.5.. That means NI-DAQmx ADE Support 9.5.5, NI-DAQmx Device Driver 9.5.5 and NI-DAQmx Configuration 9.5.5..
    4. Traditional NI-DAQ 7.4.4; The iPC has this SW installed. On the LTH this SW is missing.
    In order to fix this problem I have formatted my PXI and I have installed the following SW from the iPC:
    1. LabVIEW Real-Time 11.0.1
    2. NI-488.2 RT 3.0.0
    3. NI_CAN 2.7.3
    Unfortunately the above stated problem still arose.
    What can I do to fix this problem?
    I found a hint on http://www.labviewforum.de/Thread-XNET-CAN-die-ersten-Gehversuche.
    There it is written to deploy the dbc file againt.
    If this is a good hint, so how do I deploy a dbc file?
    I would feel very pleased if somebody could help me! :-)
    Best regards
    Lukas Nowak

    Hi Lukas,
    I think the problem is caused by differenet drivers for the CAN communication.
    NI provides two driver for CAN: NI-CAN and NI-XNET.
    NI-CAN is the outdated driver which is not longer used by new hardware. NI replaced the NI-CAN driver with NI-XNET some years ago, which supports CAN, LIN and the FLEXRAY communication protocol.
    You wrote:
    In order to fix this problem I have formatted my PXI and I have installed the following SW from the iPC:
    3. NI_CAN 2.7.3
    NI CAN is the outdated driver. I think that you should try to install NI-XNET instead of NI-CAN on your PXI-System, to get rid of the error message.
    Regards, stephan

  • Report layout in the run time

    i have bilingual system
    i want to change the layout of report from right to left or opposite as my language
    for example :
    if my language = English
    layout = left to right
    if my language=Arabic
    layout = right to left
    during the run time
    thanks in advanced

    Hi Lavanya,
    This can be the mapping error.
    Take the source payload from SXMB_MONI, copy it and paste in the 'Test' tab of Message mapping in IR.
    Check if you are getting any error or it is successful there.
    -Supriya.

  • How can I save/write data on the hard disc of the Real-Time System?

    I would like to acquire huge size of data via LabView Real-Time System.
    Since data is so huge, I am now thinking that it might be good idea to
    write/save data on the hard disc of the Real-Time System first and then
    transfer the data file to a data processing PC using FTP etc.
    If you know how to save/write data on the hard disc of the Real-Time System
    (Ver. 7.1), please let me know.
    Thanks,

    Just to add to Aitortxo's good answer,
    Since you have only one Drive ( C:\) on your RT, just keep monitering the availible disc space.
    After every few set of file writes keep transferring Backups delete these files, so that you  keep C:\ drive space for running your applications.
    Regards

  • The "Null Error Stack"  that is shown in the Run time workbench

    The Data is set to flow from SAP R/3 system to target system through XI. When the data is triggered in the SAP system, the same data is getting updated in the target system database. But when i check in the Run time workbench for the same, in the active log the following error is shown
    "Received XI System Error. ErrorCode: RUNTIME_EXCEPTION ErrorText: null ErrorStack: Runtime exception occurred during mapping" and "
    The message was successfully transmitted to endpoint com.sap.engine.interfaces.messaging.api.exception.MessagingException: Application:RUNTIME_EXCEPTION: using connection RFC".
    When i monitor the same using T-code sxmb_moni, i am getting the error "Thrown: java.lang.NullPointerException".
    Can someone please explain what is this Null Pointer Exception and how can this be solved?

    Hi Lavanya,
    This can be the mapping error.
    Take the source payload from SXMB_MONI, copy it and paste in the 'Test' tab of Message mapping in IR.
    Check if you are getting any error or it is successful there.
    -Supriya.

  • Teststand 4.1.1 PAWS Run-Time System ActiveX Server

    Hello,
    I downloaded Teststand 4.1.1 for evaluation. However, when I tried to run the example called "Manual Intervention Example.seq" or "ParameterPassingExample.seq" shows an error.
    Both sequences indicates "PAWS Run-Time System ActiveX Server not installed."
    Error: Error executing substep 'Execute TPS'.
    An error occurred calling 'ExecuteTPS' in 'IExecuteTPS' of 'NI ATLAS StepType 1.0'
    The TPS Server could not be created. A possible cause is that the PAWS Run-Time System ActiveX Server is not installed. Check your TYX PAWS installation and try again. [Error Code: -2147221164, User-defined error code.]
     Where do I get that installation from?
    Why wasn't it installed when I install the evaluation for Teststand 4.1.1?

    Hi,
    Try here:
    http://www.tyx.com/index.html
    regards
    Ray Farmer
    Regards
    Ray Farmer

  • Path where to install the run time engine (on Linux)

    I have a cluster of Linux computers where I would like to run compiled LABview (8.20 at the moment) applications build
    with the application builder.
    Therefore I would like to install the LABview run time engine on a NFS mount file system seen from each computer.  But
    the installation procedure of the run time engine does not propose to
    choise the installation directory, but force the installation
    in  /usr/local/lib.
    I try to workaround this problem and have copied the /usr/local/lib/LABview.8.2 directory to my NFS filesystem and
    made the 'necessary' links.
    Unfortunatly it doesn't run and  fails because  the
    liblvrt.so.8.2 library  can not access patched versions of the
    libOSMesa.so.4
    and libGL.so.1 librairies but uses the standard ones in /usr/X11R6/lib.
    Even by setting my LD_LIBRARY_PATH correctly to access the patched librairies versions it does not run because the
    liblvrt8.2 library seems to be  linked with the following
    'rpath'   (given by the command 'strings liblvrt.so.8.2 |
    grep patchlib')
    $ORIGIN/LabVIEW-8.2/patchlib:$ORIGIN/patchlib:/usr/X11R6/lib:/usr/lib:$ORIGIN:$ORIGIN/LabVIEW-8.2/linux:$ORIGIN/linux:$ORIGIN/resource
    which prevents to access the patched librairies versions if the $ORIGIN is not set. Therefore I tried to set $ORIGIN as an
    environment variable but it doesn't change anything.
    Therefore my question is: Did somebody have already had this type of problem,  what is $ORIGIN and how I can set it ?
    Thanks in advance.

    Sir,
    Please could tell me the distribution you use ?
    Cordially,
    Pierre R...
    Certified LabVIEW Developer

  • References​: Appearance different in Developmen​t System and in Run Time System

    I noticed a difference the references appearance in Development System and in Run Time System.  It seems to have no effect in the executable version but, per curiosity, someone have an explanation?
    Development System
    Run Time System
    Jean-Marc
    Jean-Marc
    LV2009 and LV2013
    Free PDF Report with iTextSharp
    Solved!
    Go to Solution.

    tst wrote:
    When LabVIEW builds an executable, it removes the parts which are not needed from the VIs (like BDs, or FPs of VIs which will not be opened). I'm assuming this is an extension of that where the icon is not copied over. Another option is that the RTE is simply missing the code necessary to display this specific this.
    In any case, I would say it's a bug, albeit a minor one.
    I don't think this is a bug, the references refere to a given CTL file, which is not present in the RTE, I think LabVIEW disconnects the reference form the typedef and only saves the properties needed.
    Ton
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • After the install I can't find the Run Time

    This seems ridiculous.  I generated an executable with the installer (2009) and installed it on a pc and everything worked great.  I now tried to install on a 2nd pc and although the N.I. Run Time folders are apparent, I can't find the button to push to get the Run Time running.  Is there a main file that I should be clicking?
    Solved!
    Go to Solution.

    ahhah wrote:
    This seems ridiculous.  I generated an executable with the installer (2009) and installed it on a pc and everything worked great.  I now tried to install on a 2nd pc and although the N.I. Run Time folders are apparent, I can't find the button to push to get the Run Time running.  Is there a main file that I should be clicking?
    Your statement makes little sense, maybe you can clarify it for us. (What are "N.I Run Time folders"? What is the meaning of "apparent"?, etc.)
    The run-time engine is not something that needs to be started by pressing a button. All you do is run the executable applications, and it will silently and automatically find and use the correct run time engine. Could you show us a screenshot on what you are looking for?
    (Also, built LabVIEW applications should not show the toolbar with the run button of the development system, because they should run when openend and close when done.)
    LabVIEW Champion . Do more with less code and in less time .

  • Is it possible to choose the serial port if only the run time engine is installed

    I have an application, which communicates over the serial port. When I use the full version of Labview I can change the serial port without any problem from Com1 to Com2 (similar to the example “Hardeware input output -> serial -> Labview serial vi"). When I build an application and try to run this program on a computer where only the run time engine 6.1 is installed, it is not possible to choose the serial port. Since there is no “Measurement and Automation Explorer” available on the run time engine and no directory C:\VXIpnp is created, when the run time engine is installed, I do not see a way, how I can satisfy the computer with the information it needs for configuring
    the different ports. Any suggestions?

    Hi Daniel,
    Before LV6.1 there was LV5.1 In LV5.1 the way to Spedify a resource was to use a string control with correct VIsa Resource Class identifier. For eg. "GPIB0::11" or "ASRL1::INSTR". With Introduction of VISA Resource Name Control and linking with MAX, These names are Available from Pull Down List and Can be Aliased, meaning ASRL1 which is Serial Port 1 can be called COM1 and so on. However the old method still works with all 6.1 Controls. Only thing is you have to make sure you Dont Conflict the Class Names ie Use "GPIB::.." instead of "ASRL..." when addressing Serial Port VI's.
    To solve your Problem I would Build a Menu ring with COM1 to COM4 in the Pull Down List.
    Next, If I use the Traditonal Serial Port VI wich accepts the Integer as Seria
    l Port #. I just Wire the Menu Ring to this VI.(Remember COM1 is 0, COM2 is 1 for this VI)
    If I use VISA Config Serial Post. I build an Array Constant with Corresponding VISA Class Names So in our case a String Array Constant of 4 elements "ASRL1::INST" to "ASRL4::INST". I Use Index Array Function With the Index Wired to my Menu Ring. The Array Input Terminal Wired to the Array Constant. The Output of this Array will be correct Visa Class Name Based on slection of my Menu Ring. I can Wire this as Input to my VISA Config Serial Port Vi.
    I have attached a Small VI to Illustrate this.
    Drawback: You must Predefine what Ports you will Want to Use. Basically you define all the cases.
    I hope this Answers your Q!
    Good Luck
    Mache
    Good Luck!
    Mache
    Attachments:
    Serial_Port_Select.vi ‏36 KB

  • Can we load and unload the files in the run time?

    Can we load and unload the files in the run time?
    For example there are four files named "test1.h & test1.c" and another set "test2.h & test2.c" (I attached them as attachment to this post).
    test1.h contains code:
    int variable; //variable declared as integer
    test1.c contains code:
    variable = 1; //variable assigned a value
    test1.h contains code:
    char *variable; //variable declared as string
    test1.c contains code:
    variable = "EXAMPLE"; //variable assigned a string
    So here, in this case can I dynamically load / unload the first & second group of files so that the same variable name "variable" can be used both as integer and string? And if yes, how is that to be done?
    Solved!
    Go to Solution.
    Attachments:
    test.zip ‏1 KB

    What do you mean by "dynamically"?
    If you want to have a variable that either is an int or a char in the same program run, I'm afraid your only option is to define it as a variant and assign from time to time the proper data type in the variant according to some condition. Next, every time you access the variable you must firstly check which data type is stored in it, next access it in the proper way.
    If on the other hand your option or to have a run in which the variable is an int, next you stop the program and in a following run it is a char, you may have it by using some appropriade preprocessor clause:
    #ifdef  CHAR_TYPE
    #include "test1.h";        // variable defined as a char
    #else
    #include "test2.h";        // variable defined as int
    #endif
    Next, every time you want to access the variable you must proceed in the same vay:
    #ifdef  CHAR_TYPE
      variable = "string";
    #else
      variable = 1;
    #endif
    Does it worth the effort?
    Additionally, keep in mind that this "dynamical" approach can work only in the IDE, where you can properly #define your CHAR_TYPE or not depending on your wishes: when you compile the program, it will have only one #include depending on the definition of the macro.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Building an Application in Windows to be used in Linux (with the Run-Time Engine)

    Hi All,
    I have an LabVIEW project I have developed in a Windows environment.  I can create an Application (.exe) using the Build Specification -> Application Builder which works fine on the development platform.
    I now want to distribute the application to a Linux Environment.  The OS is openSUSE v10.3 (with GNOME).  I have downloaded the two rpm files needed for the run-time engine and installed them, as per here:http://digital.ni.com/softlib.nsf/websearch/97E14BA3E0C14A89862572C300567733?opendocument&node=13207...
    Now, the question is; how do I create an Application in Windows which can be used on the Linux Box?  According to the Application Builder instructions, it's simply a case of removing the .exe extension in the Target File Name options, however, this gives an error "Invalid Extension."
    If I do create an exe and manually remove the extention is doesn't work on the Linux enviroment (typing ./application).
    Has anyone had experiance of this?
    Many Thanks for Any Help,
    Oliver
    Windows XP SP 2
    Labview 8.2.1
    openSUSE v10.3 (with GNOME)
    LabVIEW Run-time Engine Version 8.2.1 for Linux

    The cross-platform nature of LabVIEW refers more to the code than to the executable.
    LV (given the appropriate development version) can compile the same source code into a Windows (using LV for Windows), Linux (using LV for Linux) or Mac (using LV for Mac) program.
    This means you will still have three versions of your program, one for each platform.
    If you want to distribute VIs (without block diagrams), you will also need different versions of these as without the block diagram, they cannot be re-compiled for a new platform.
    Shane.
    Say hello to my little friend.
    RFC 2323 FHE-Compliant

  • How to rotate and translate an object at the same time??

    Hi, I have a problem with rotation and translation of an object at the same time. I wrote a behovior class for my object (a cylinder). When some conditions are true the cylinder is added to a robot arm. Then it is translated so that the cylinder would be very close to the arm (looks like the robot is holding it). And now the behavior should also rotate the cylinder because the angle is 0 and it should be 90. I can translate the object or I can rotate the object but when I'm trying to do it at the same time (I want to combine rotation and translation) it doesn't work.
    Could anyone help me, please :)

    You can used to Matrix3f
    This object is a rotation and translate matrix
    for example:
    private void componerTransformada(){
    Quat4f rot = new Quat4f((float) this.getRotacionSobreX(),(float) this.getRotacionSobreY(),
    (float) this.getRotacionSobreZ(),1.0f);
    Vector3f tras = new Vector3f(-4.0f,-4.0f,(-1)*this.getDistanciaDeLaCamara());
    this.setTransformacion(new Transform3D(new Matrix4f(rot, tras, 1.0f)));
    Quat4f is a matrix of ratation
    vector3f is a direction vector
    Transform3d is building with Quat4f and Vector3f.
    That is work i use this to situe the view of point.
    good locky

  • How to know the timings of the run time of thr report

    Hi,
    Can you please tell me how to know the run time of the query , i mean how much time it took for the query to dispaly the results .
    Also we have these queries in the workbook. How to refresh the work book . is it enough if i refresh the query.
    Thanks
    Sruthi

    Hi
    How can we check in RSRT tcode?
    And how can we do i RSRTRACE?
    Can  I know the procedure.

Maybe you are looking for

  • After updating to Mavericks, I can no longer navigate to individual folders to save a file. HELP!

    When I wanted to save a file before, I just chose "Save As" and the menu would appear that allowed me to navigate to the folder where I wanted to save the file. If the folder name didn't show up, then I could just double-click (say for example, "Docu

  • Dynamic configuration of listener in 10g

    how can i dynamically configure listener? if using Oracle configuration tools, then how can i start Oracle configuration tools? Thanks in advance

  • Control Transfer of Bills of Product for Preference

    Dear Experts, We are currently setting up the preference processing service for NAFTA (GTS 10.1). One of the steps to be executed in the customizing, is the Preference: Control Transfer of Bills of Material. We are facing the issue the field Rule set

  • Cannot share photos with photo sharing

    HI i am having trouble rouble with shared photo streams, I'll recieve the invite and as soon as I accept I always get the message that "this photo stream is no longer shared! How can I sort this out? I also have family sharing on but the family share

  • SD_VBRK Archiving issue

    Hello Archiving Experts, I want to implement archiving for SD_VBRK. I have been given a document which contains billing types and their retention in days. e.g.: YJR as 1460 days         Y3R as 9999 days Does any body know any transaction from which t