Does Labview's ActiveX server throw any events?

I'm trying to use Labview as an ActiveX automation server. It works so far, but I can't figure out a good way to get data back from the VI without polling it. Does Labview throw any ActiveX events that I could catch or is there some other way to receive data? Polling is a rather poor solution, so I figure there must be a better way.

qx3n42j,
I ran the List ActiveX Events shipping example on LabVIEW 6.1 and it returned that there are no events. I also searched through the documentation and found no reference to LabVIEW ActiveX events.
You could implement a DLL that throws an event and call that from your LabVIEW VI.
Randy Hoskin
Applications Engineer
National Instruments
http://www.ni.com/ask

Similar Messages

  • How to detect the HTML extension window close in In-design? Does the In-design throws any event on opening/closing of extensions?

    How to detect the HTML extension window close in In-design? Does the In-design throws any event on opening/closing of extensions?
    I have a HTML extension running in In-design CC 2014 version.
    I want to perform some required set of actions before my extension window is closed(by clicking on the cross button on top right corner).
    Does In-design throws any event for it? Or can we capture it using C++ plugin in some way?

    Naah.......haven't got any event for that yet.
    Although, since HTML extensions are using chromium browser,  as a workaround, u can attach listener to HTML onClose event, but it won't solve any purpose if you
    are looking to logout session or do some business login in your code.

  • How does labVIEW use ActiveX controls?

    How does labVIEW use activeX controls?
    I recently wrote an activeX control in VB and noticed that it would not work if the control was set so that its properties could not be set in ambient mode. This may suggest that labVIEW uses some activeX controls only in ambient mode.
    Is this the case or are there more complexities?

    Dan,
    Which version of LabVIEW do you have?
    As per the KnowledgeBase bellow, in versions of LabVIEW prior to 5.1 you would get errors accessing the ambient properties.
    ActiveX Controls in LabVIEW 5.0.1 Containers Cannot Access Ambient Property
    Do your controls use the Ambient.UserMode to determine when the control is being used in a development environment? When embedding ActiveX controls into a container on the front panel, by default, the ActiveX control generates and responds to events, i.e. it is running, even when LabVIEW is in edit mode.
    Right-click an ActiveX container and select Advanced»Design Mode from the shortcut menu to display the container
    in design mode while you edit the VI. In design mode, events are not generated and event procedures do not run. The default mode is run mode, where you interact with the object as a user would.
    Information can be found in the LabVIEW help files
    Zvezdana S.

  • Problems using Labview as ActiveX Server

    Hello,
           I have been having difficulty using Labview as an AcvtiveX server. I have reviewed all the postings on this subject and most are either pre Labview 8.2 and thus do not account for the changes made between 8.2 and 8.5 which broke the Activex server functions. I have looked at the recommendations for changing the to code to export (exported vi's in a DLL or Source distribution) and have tried these with no success. The closest example I have found was posted here http://forums.ni.com/ni/board/message?board.id=170&thread.id=283417 the example code they posted does ont work for me and still generates and error 3005.
          What i need is simple. I want to turn my applicaiton into a Vi server.. Expose a vi that acceses elements in the Vi server.. (controls, queues, Globals etc) that are in the Vi server context. I would then like to build a vi .. or dll that calls the 'exposed' vi in the vi server to pass data to or from the vi server. The V test.zip example file in the above indicated post is a pretty good example of this .. it just does not seem to work when i build it in 8.5. Are there any GOOD and 'current' examples of using labview as the ActiveX server (Compiled) and calling exposed vis from an external application Labivew, Visual Basic.. etc??  I am only interested in cases where Labview is the Sever. or both client and server.
           I have used a tool "ActiveXplorer" to examine the registered "exe" when the viserver is run. It always shows that there is no Type Library associated and the object is not creatable. There is a .tlb created by the project build however, where as the previous version 8.2.1 of Labview did not build that correctly. I have also tried this on 8.6 with similar error 3005 generated. sooooo what am i missing?
          Thanks
           Louis Ashford

    Mike,
           Thank you for your response to my question. The problem is that the example you site does not use the Labview vi as the Server. Excel is actually the vi server and the automation open is using and excel automation object. I am sure that Excel creates proper automation objects .. Labview however does not seem to. So while this example shows how labview can function as a client it is not an example of a compiled Labview Sever being accessed by a 'laview vi'. Possibly I am not looking at the vi that you are thinking of.
           The examples i am aware of:
                        "ActiveX Event Callback for Excel.vi... (Excel is server not Labview vi)
                        "ActiveX Event Callback for IE.vi (same Labview vi is client)
                        "Write Table to XL.vi" ( again excel is the server)
                        "3D Graph Properties - Torus.vi" (accesses an activex Control 'not' and Activex EXE)
                        "3D Lorenz Attractor Draw at Compeltion using 3D Curve.vi (Uses an activex  control not activex Exe server)
                        "3D Parametric Surface - Ribbon.vi (Uses an activex  control not activex Exe server)
                        "3D Surface Example - Fluctuating Sine Wave.vi (Uses an activex  control not activex Exe server)
                        "Excel Macro Example.vi (Uses excel as automation server..not Labview)
                        "FamilyTree.vi (uses MSComctlLib.ITreeView object not Labview as server)
                        "SlideShow.vi" (uses PowerPoint._Application not Laview as server)
          Most of the posts I have seen are for versions prior to  Labview version 8.2 (where the ActiveX server was broken) I have seen only a few posts that actually address the issue i am talking about. however thus far no real solution has been offered. I get the same results when compiling and testing this with 8.6..  as well. So have you tried this Mike? Possibly i am missing something very simple..
          The example i did find and gave the link to is a pretty simple one. This does not work on my machine at all. You can select the automation server that is registered with windows after running the server one time and this then breaks the client vi.. I have found by reselecting the GetViReference property node in the Client vi that it will the 'fix' the client vi as far as labview is concerened and it no longer shows and error. Now when you run the Client vi it will infact find the vi server and will launch it ok. However. The open automation object then hangs.. for quite some time then returns the error
    "Error -2146959355 occurred at Server execution failed
     in Client_reader.vi" Obviously the automation Exe (server) was seen because it was opened yet it did not return a valid reference so the subsequent property nodes in the client.vi will fail. Something is wrong with Labviews opening of or creating of automation objects..
              Thanks,,
                    Louis Ashford

  • I have a 5s which has been working fine until about a week ago when any calender event added to my phone will not sync with my enterprise server. Any calender event entered on my PC (enterprise) does show on my phone. Mail is working fine both ways,ideas?

    i have a 5s which has been working fine until about a week ago when any calender event added to my phone will not sync with my enterprise server. Any calender event entered on my PC (enterprise) does show on my phone. Mail is working fine both ways,ideas?Iphne 5s and enterprise

    See my reply to this message:
    https://discussions.apple.com/thread/2557520?start=15&tstart=0
    The problem is that the POP3 client is not issuing a DELE command to remove the email from the server.

  • Labview ActiveX Server PATH if in developmen​t environmen​t

    I'm using Labview 2010 to build an ActiveX server.  I can access the executable as an activeX sever from both C and LabVIEW clients.  No problems there.  But now I want to do some debugging in the development environment while accessing the program via an ActiveX client.  In such a situation, how do I change how I access the VI's in the project?  I tried using the lvproj in place of the EXE, but this was insufficient.  Seems a little convoluted with the changes required to do this debugging.

    I think that I already have my answer in that I can not generate a LV event through an ActiveX interface regardless of the type of control, but if you want to play with it, here is a Demo which I derived from the previous link given above.  Within the attached ZIP file, read the "Readme.txt" file for instructions.  Specifically the program assumes that is located in C:\tmp, since LabVIEW doesn't like relative pathes in both the build and reference node paths, (so they are coded with absolute pathes).  If you use C:\tmp, the instruction in Readme.txt should work.
    What happens is that you click on the button in the ActiveX Client running in the LV development space.
    You can see the control value change shade/color in the ActiveX Server EXE application,
    but because no event is generated, the Event Handler does nothing.
    I know that I can poll the value of the control and then use the Value (Sgnl) property control to generate an event, but this isn't a very clean solution.
    All code in the ZIP file is LabVIEW 2010 release1
    Attachments:
    LV ActiveX Demo.zip ‏172 KB

  • Labview activex server registration incomplete.

    I made an ActiveX server using LabVIEW. The server should communicate with Excel. During installation of the server I register the server: "Server.exe /RegServer". When I try to call the server from Excel/VBA, it responds with "Run-time error '429': ActiveX component can't create object". The server is only recognized by Excel after I have started and stopped the server once.
    When investigating the registry, it appears that the difference between registering with /RegServer and just starting and stopping the server are the following registry keys:
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application.6
    To my opinion the /RegServer commandline option does not do the whole job.
    Also /UnRegServer does not remove the above mentioned registry keys.
    Is this a bug or just normal behaviour?
    Has it been solved in newer LabVIEW versions (I use 6.0.2)?

    Hi,
    I've tried to call a with LabVIEW 7.1.1 created activeX server. This works without any errors. I've attached my code. 
    As for the register keys, this seems to be the default behaviour of ActiveX, each server has a key without version number e.g.
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application
    And one or more with a version number:
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application.6
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ServerName.Application.7 Kind regards,
    Karsten
    Applications Engineer
    National InstrumentsMessage Edited by KvZ on 07-27-2005 02:37 PM
    Attachments:
    ActiveX Server.zip ‏45 KB

  • How Do I set up a LabView ActiveX server?

    Are there any documenation or sample program which is about how to setup a LabView ActiveX server? my C++ program will dynamically call VI and then pass the integer to Labview program via ActiveX and then perform some control of digital oscillscope. Do anyone help me? thanks for help so much......It is in hurry......please help..............
    CowCow

    From the NI knowledge base...
    Problem: How do I enable LabVIEW as an ActiveX Server?
    Solution: Under Edit >> Preferences >> Server: Configuration, select ActiveX as a protocol and enable all server resources. Under Edit >> Preferences >> Server: Exported VIs, list the name of all VIs that can be accessed remotely. You can include the full path to the VI, or just list its name. Wildcard characters are valid. You can explicitly deny access to certain VIs by clicking the Deny Access button. Note that changes to the Server will not take effect until LabVIEW is relaunched.

  • How to implement an ActiveX server in LabVIEW

    My task is to implement an ActiveX server in LabVIEW 8.0 that will be called from a data management software (DXE).
    The LV server will take care of data acquisition and control.
    I have been looking for tutorials and example code at the NI developer zone and elsewhere without any progress. Information is either to general or code is to old (LV 5.1) to give any help.
    Please, show me to a good example of an ActiveX server in LV 8 properly commented or with attached explanations.
    Alternatively, suggest any tutorial, short course or books with practical instructions.
    Specific information is most welcome.
    I suppose that it is possible to write a ActiveX client in LabVIEW to verify the functions of the ActiveX server ?

    rolfk wrote:
    skalis wrote:
    Thank You. Good to know that I am on the right track.
    However,
    Your sentence "If You look at the several shipping examples..." make me
    little concerned. I am not able to find any example of a LV ActiveX
    server in my LV 8.0 installation. I would be very grateful of You can
    send me any.
    Basically you can not create your own
    Active X server with your own object hierarchy and methods in LabVIEW.
    LabVIEW however can export a predefined Active X server interface that
    is just another access method to its internal VI server interface.
    With this interface you can determine what VIs are available to
    control, load specific VIs from disk if you know their path and,
    execute those VIs and passing parameters to it and receiving outputs.
    So if your software allows you to script the Active X access to an
    Active X server in some ways such as VBA or similar you should be fine.
    If your software expects a specific Active X interface you have to
    implement in the server application, you are out of luck with LabVIEW,
    without using an external component such as an extra Active X server
    DLL that translates between the expected interface and the exported
    LabIVEW interface. But this last method is quite likely not worth the
    hassle.
    Rolf Kalbermatter
    While I did follow the link mentioned above and found the Interop.LabVIEW.dll that is included in the C# project for the purpose of calling VIs from C#, I am frustrated that these methods are 'buried' in a .dll that you have to go and find on the NI web site, and are not ActiveX methods that are available in an ActiveX Object that is installed when you install LV 8.20 PDS. 
    Rolf, I don't know that you will get this email, but are you refering to the methods inside of the Interop.LabVIEW.dll in what you are saying above, and if so, how did you become aware of this .dll? 
    Is anyone aware of any documentation for these ActiveX methods?
    Thanks,
    Wes
    Wes Ramm, Cyth UK
    CLD, CPLI

  • Starting applications remotely using LabView activeX server

    I want to
    make a program that enables me to start applications on a remote computer. I
    made a program that starts applications using either System exec.vi or .NET and
    both methods work find on my local computer. I built it with activeX server
    enabled and copied it to my remote computer. After struggling with DCOM
    settings and Security settings for a couple of days!! I’m now able to start the
    program from my local computer. The thing is that I can’t see either the
    LabView program or the started application. When opening the Windows Task
    Manager, I can see both the programs under the Process tab so they have
    started, but obviously as a “background” process and not as an application.
    Does anyone
    have an idea on how to start the programs as applications?

    Why not just use PsExec?
    http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

  • Calling LabView ActiveX Server from TCL?

    Does anyone have experience calling a LabView ActiveX server vi from
    TCL? I created a simple VI with one control (labeled "A") and one
    indicator (labeled "B") and a +1 adder between them. I can load and
    open the VI from TCL:
    package require tcom
    set lv [::tcom::ref createobject "LabView.Application"]
    set viPath "D:\\National Instruments\\LabView\\Activity\\a.vi"
    set vi [$lv GetVIReference $viPath]
    $vi FPWinOpen True
    But when I try to send in data:
    $vi -namedarg Call A 1
    I get the error message "unknown parameter A".
    I have also attempted to duplicate the "ActiveX Server" example
    from the LabView help file, calling "Frequency Response.vi". This
    approach encounters the same error message:
    % package require t
    com
    3.0
    % set lv [::tcom::ref createobject "LabView.Application"]
    ::tcom::handle0x013202F4
    % set viPath "D:\\National
    Instruments\\LabView\\examples\\apps\\freqresp.llb\\frequency
    Response.vi"
    D:\National Instruments\LabView\examples\apps\freqresp.llb\frequency
    Response.vi
    % set vi [$lv GetVIReference $viPath]
    ::tcom::handle0x01335AE8
    % $vi FPWinOpen True
    % $vi -namedarg Call Amplitude 10
    unknown parameter Amplitude
    If anyone can point me in the right direction, or give me an
    example of how to do this I would greatly appreciate it.
    TIA.
    Leslie

    In article ,
    Leslie Brooks wrote:
    >"Bruce Hartweg" wrote in message
    >news:...
    >> "Chin Huang" wrote in message
    >news:[email protected]...
    >> >
    >> > I don't use LabView, but from the Visual Basic example I saw, it seems
    >> > the Call method takes two arguments. The first is an array of parameter
    >> > names and the second is an array of parameter values. Try to send in
    >> > data with the Tcl command
    >> >
    >> > $vi Call [list A] [list 1]
    >>
    >> I'm unable to help the original question (don't know LAbView or VB stuff) but
    >> just want to point out that [list A] is equal to A and [list 1] is the
    >same as 1.
    >>
    >> Bruce
    >
    > I know what is supposed to be passed to the 'Call' method. Doing
    >this:
    >
    >set inst [::tcom::info interface $vi]
    >$inst methods
    >
    > produces (among other things):
    >
    >{1015 VOID Call {{{in out} {VARIANT *} paramNames} {{in out} {VARIANT
    >*} paramVals}}}
    >
    > So the 'Call' method is expecting two parameters, both pointers
    >to variants. TCOM appears to be passing the correct parameter type
    >because the TCOM documentation says that a TCL List maps to a
    >one-dimensional array of VT_VARIANT. However, the results are
    >INvariant (bad pun intended):
    >
    >% $vi -namedarg Call Amplitude 10
    >unknown parameter Amplitude
    >% $vi -namedarg Call [list Amplitude] [list 10]
    >unknown parameter Amplitude
    >% $vi -namedarg Call [list Amplitude] [list [::tcom::na]]
    >unknown parameter Amplitude
    >% set i 5
    >5
    >% $vi -namedarg Call [list Amplitude] {incr i}
    >unknown parameter Amplitude
    >% $vi -namedarg Call [list Amplitude] [list [incr i]]
    >unknown parameter Amplitude
    >% $vi -namedarg Call Amplitude [incr i]
    >unknown parameter Amplitude
    >
    > Who can help me with this? Who is the LabView Guru?
    Try invoking the Call method without the -namedarg option. The
    -namedarg option doesn't work the way you seem to think it works. The
    -namedarg option provides a way to specify arguments named from the
    method's parameter specification. For example, you discovered that the
    Call method take two parameters named "paramNames" and "paramVals".
    Tcom returns the error "unknown parameter Amplitude" because "Amplitude"
    doesn't match either parameter name.

  • LabVIEW application as ActiveX server

    Hello all,
    is there a possibility to detect (within the LabVIEW application), if a LabVIEW application (enabled as ActiveX server) is called through ActiveX or called through shortcuts (desktop, program menu, ...).
    The background is, i want to do different things on startup depending on the kind of call.
    Thanks in advance
    Heinrich Eidloth

    Hello Heinrich,
    sorry, but the only thing I can tell you is, that there is no built in
    mechanism in LabVIEW for detecting how the application was called.
    If it is possible, than it would be somehow through Windows (WinAPI or
    COM?). So the question would be, does Windows provide a way to
    determine how an application was called. I hope you can get help from
    Microsoft with this issue.
    If you get a solution, it would be great if you could post it. This really is an interesting question.
    Good luck.
    D. Ackermann
    Applications Engineer
    National Instruments Germany

  • Turning a LabVIEW built DLL into an ActiveX server

    Does anyone have a list of the steps you must go thru
    to convert a LabVIEW generated DLL into an ActiveX server. Do the functions become methods?

    Hi James,
    we have a library we deploy in three ways: as a LabVIEW library, as a DLL and as Active-X server.
    In the build file for the DLL we have made each "function to call" a top level VI.
    In the Active-X server each "function to call" is a dynamic VI. We created a new top level VI which will run when the server is started and stops after his window is hidden. In LV 6.x you need the winutil library to hide the window. If you close the window (through FP.Open set to FALSE) the server will stop. The window size is set to 1x1 in the VI Properties to minimize flickering on the screen during start of the Active-X server. You must check the "Enable Active-X Server" box on the "Application Settings" page in the app builder. In your client application yo
    u open a reference to the server and then you can open a reference to the VI. You set/read the controls and run the VI. There is sample code for Visual Basic on the NI web site. I have also sample code for Visual C++ single and multi threaded clients.
    If you are interested in the examples contact me at [email protected] and I will ask my customer to allow me to send it to you.
    Waldemar
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Does LabVIEW DSC 8.5 support Windows Server 2008?

    Hi,
    I am developing a SCADA system using LabVIEW DSC 8.5. Apparently, customer wants the Server Computer to be latest Windows Server 2008 operating System.
    But the Release and Upgrade note specify that DSC Module does not support Windows NT/Me/98/95/Server 2003. (System Requirement section)
    Does it support Windows server 2008?
    Any feedback most appreciated.
    Message Edited by Vsh on 09-28-2009 08:56 AM

    Hi Vsh
    Sadly no version of LabVIEW (and therefor no modules like DSC either) officially supports Server 2008. That has however not stopped people from trying and I've seen both cases were it has worked fine and cases were it has not worked. This thread might be of interest to you.
    Best Regards
    David
    NISW

  • NVIDIA control (Shadowplay mostly) with LabVIEW via ActiveX - Does anyone have documentation?

    Hi Everyone,
    I'm looking to capture my monitor video at around 30fps. ShadowPlay works well with my graphics card, and I've found that there is an ActiveX Library on the PC. The attached screenshot shows an example code for 5 seconds of capture. 
    Shadowplay only captures one monitor but I want it to capture both, or make two videos (one for each monitor) preferably. Although a possible work around would be recording one at a time but being able to programatically change between the two. The Shadowplay library is: ShadowPlayServerLib and the NVIDIA Library is: NVI2Lib (I presume this is NVIDIA but could be wrong)
    I can't find any documentation on the activeX commands so I'm struggling to know what inputs and outputs of the property nodes should be. Does anyone have any? A search of the internet brings up my own forum post on NVIDIAs website: 
    https://forums.geforce.com/default/topic/805560/geforce-experience/shadowplay-activex-documentation-...
    Any help on the NVIDIA/ShadowPlay side of things would be great, alternatively any ideas for capturing video at 30fps (I tried to use .NET to capture the screen shots to png files but it only managed 2.5fps without saving them)
    Many thanks
    Attachments:
    NVI class.png ‏27 KB
    shadowplayActiveX.png ‏32 KB
    ShadowPlayCapture.vi ‏12 KB

    Hi Woody247,
    Here is brief overview to help using LabVIEW with ActiveX:
    http://www.ni.com/white-paper/2983/en/
    Here is an interesting example that could be useful to your application's functionality 
    https://decibel.ni.com/content/docs/DOC-41144
    Regards,
    Mark 
    Applications Engineer Intern
    National Instruments UK and Ireland

Maybe you are looking for

  • Date for Month year only?

    I Have a report being done where, the user wants to see the 'slow moving inventory' for a 2 month period. It's not automatic, the past 2 months. they can select which 2 months they want. So, I was thinking of the best way for the parameters. Maybe ju

  • SUBSEQUENT GR AND PAYMENT TO VENDOR

    Hello experts, I have following scenario in my business process.. I am working in a hosiery company. I am supplying yarn to my subcontractor (vendor) for knitting In my subcontracting PO  I have mention po quantity as 100kg, and I m supplying 100 kg

  • Dreaded forms web deployment...

    Conf - Oracle 8i, diffent home. OAS 4.0.8, differet home. Dev6 different home. Has anyone successfully implemented the CWEB Cartridge on OAS 4.0.8. and managed to call their forms from a Netscapre browser. I have followed the documentation from the O

  • Changing Blog font size

    I want to reduce the font size of blog entries in a blog's main page. How do I go about doing this?

  • Apex 4 Combined chart with multiple y axis

    Hi I am trying to create a Combined Line chart & Bar chart using Multiple y-axis ie Line chart using one y-axis and Bar chart using another y-axis. In Apex 4 so for i am able to to create Combined chart by adding 2 series.. but i am unable to specify