Problems with ActiveX Callbacks in LabVIEW 7

Have encountered an interesting problem with ActiveX "Reg Event Callback" in LV7 (WinXP):
In a nutshell, when a lot of events fire in rapid succession, the user-interface locks up.
The events still fire, and the front panel controls update, but the front panel will not respond to clicks. Interestingly, if the block diagram is open, you can stop it and turn on execution highlighting, etc...
- I've discovered that the problem we're encountering is related to multiple events firing before the (reentrant) callback VI has finished executing from the 1st event.
- by watching the Performance data in task manager, and tracking the # of handles used by LabVIEW, I find that when this happens, the # of handles increases, b
ut never decreases until you stop the VI
- I would expect several (nearly) instantaneous events to launch multiple copies of that callback VI, and I can believe that would increase the # handles, but I would expect that LabVIEW would catchup shortly thereafter and the # handles would return to its starting count.
As an aside, using the old ActiveX event and callback method with the exact same version of the activeX control does not have this problem, events just queue up and then fire appropriately.
Anyone seen anything like this?
Anyone (NI guys) have any ideas?
Follow up question (NI guys): when will the support for the old ActiveX event stuff dry up?
Thanks in advance,
Ben
Ben Zimmer
[email protected]
Software Developer
Meikle Automation

Hi Ben,
The error message warns about the use of three ActiveX Event VIs that will no longer be supported in future versions of Labview. Following version 6 of Labview, the use of ActiveX Event VIs is shifting to the use of Register Event Callback VI instead. In looking at your screenshots, I did not see any use of the older ActiveX Event VIs. If possible, try attaching the actual VI to the post and I will take a look at that.
At least in terms of support, phone support currently exists for Labview 6 and 7. With the release of Labview 8, support for Labview 6 will slowly be phased out. In this case, phone support for the ActiveX Event VIs will no longer continue as they are no longer included in the versions of Labview for
which phone support is provided. However, Discussion Forums and web-based resources would be your best venue of support for those features.
I would strongly recommend that you migrate to replacing ActiveX Event VIs to using the Register Event Callback VI. The following is a KnowledgeBase article describing the transition of ActiveX in Labview:
Migrating from the ActiveX Event VIs to Using the Register Event Callback Node
Also, are you using the Automation Open/Close VIs? These two VIs will allow acquire/release informatio nof the ActiveX object. I have attached a couple example programs that are included in Labview to help demonstrate this concept.
Hope this helps!
Kileen Cheng
Applications Engineer
National Instruments
Attachments:
ActiveX_Event_Callback_for_Excel.llb ‏944 KB
ActiveX_Event_Callback_for_IE.llb ‏972 KB

Similar Messages

  • Problem with activeX objects

    hi all,
    i am having a problem with activeX objects.
    my activeX ( Tree View) is wrking fine with windows2000
    but when i am trying the same code with XP its saying dll missing.
    do these activeX depends on OS also..
    plz help me.

    hey Vishwas!
    did you register the .dll?
    do you work with vb.net?
    which ServicePack do you have in Windows XP?
    greetz
    Matthias

  • Problems with ActiveX and an IRtrans-modul

    Hello,
    I have a problem with an IRtrans-USB-modul. This is a modul for learning or sending infrared commands.
    The modul is connecting to the USB-port and supports ActiveX and .NET protocols.
    I have registered the ocx-library with the command regsvr32 and in LabVIEW I have the selection for the ActiveX-class.
    But when I use a method and will send or learn a command I get the
    failure: Exception occured in Winsock, wrong protocol or connection
    status for the prompted transaction or demand. Help path in
    MSWNSK98.chm and context 1040006 in Unbenannt1.
    With the supplied software from the manufactor the modul is working fine.
    Somebody is using this as well? Or somebody could help me with this problem?

    Hello Tweety,
    I've installed the software for the IRtrans module. Unfortunately, I can't start a server, because for this I have to connect this module.
    If You can select the methods of the IRtrans objects in LabVIEW, the activex connection should be OK. Make sure, that You use the right parameters and the right data types.
    Here is a link to the software, I've installed. Do You have the same Version?
    http://www.irtrans.de/de/download/windows.php
    Klaus

  • Communication problem with FP-2000 and Labview 7.1

    I am using the FP-2000, DO-403 and TC-120 modules with Labview 7.1, being run on a host computer via an ethernet connection.  The setup has operated flawlessly for ~2 years; recently, I have noticed that while a VI is running on my PC, connection to the FP module ceases.  There is no pop-up "connection error" in my VI, and the all the power and status LEDs on the FP modules are normal.  I can still interact with the VI on the front panel while it is running, but nothing is passed to the FP module.  I have tried communicating with MAX when this occurs and receive a "no connection" message.  Is there a simple solution here, such as rebooting the FP module?  Or is it time to invest in new hardware?
    Justin

    I am having a very similar problem with my cFP-1804 and Labview 7.0.  I have no problem initiating communication over ethernet, and the vi will run perfectly for hours or even days.  Inevitably, however, at some point there is no longer communication with the cFP-1804.  Data is no longer being passed either to or from the cFP-1804, and MAX will show that the device is not connected.  I also will not see any pop-up error message that says the connection has been lost, either from Windows or from Labview.  The vi will just continue to run as if nothing has happened.  Turning the power to the cFP-1804 off and then on will always resolve this problem.  Since I am using the cFP-1804 primarily for data logging, however, this behavior is particularly problematic as the system will record nothing but zeroes until I discover that the communication has been severed and perform the manual power cycling.
    I have been unable thus far to determine the cause of this problem.  Any help would be greatly appreciated.
    Thanks,
    Derrick

  • Problem with Vision Builder and LabView: Error -1074395995, File not found

    I have created an inspection with Vision Builder AI 2009 SP1. In it I load some pictures from the HDD and run some checks over it. It works fine. Then I have migrated it to LabView 2010, I get a message that the migration is successfull, but when I run the VI on LabView I get a fail status. I have been checking my program and I have found and error when I try to load the picture from file: Error -1074395995 occurred at IMAQ ReadImageAndVisionInfo
    Possible reason(s): IMAQ Vision:  File not found.
    But I am not sure which file it refers to. At first I thought it was the picture I wanted to load, but I have checked the path and it is correct, so maybe it refers to another thing. What puzzles me most is that it works perfectly on Vision Builder and I have changed nothing in LabView, maybe it is a problem with the migration. Any clues?

    Here's a screenshot of what I'm talking about. Put a break point here and see what the path is and compare that with what Vision Builder AI is using (described where to find this in the previous post). You could find where this global is used to make debugging easier.
    Hope this helps,
    Brad
    Attachments:
    Generated Code.png ‏43 KB

  • Problems with Activex bridge

    I am having problems with my VB 6.0 program that uses a Java Activex Bridge. When I shut down my VB 6.0 application the service control manager logs a message in the event log that the program terminated unexpectedly.
    I have done some analysis and I have realised that the service control manager outputs this message only when my VB application creates the Java activex object. It appears that for some reason the Java object does not destruct cleanly.
    I have got 2 versions of Java plug-in 1.3.0 and 1.3.0_02. Only 1.3.0_02 is enabled. I am not sure whether are any known issues with the version of the plug-in I am using which causes this behaviour.
    I will be grateful for any suggestion which would help me in resolving the above problem.

    Check the registry. The activeX has a CLSID, the CLSID points to a jar file (HKCR/CLSID/{$CLSID}) does this jar exist?
    Does the beans.ocx used exist. Is it used in a plug-in that works (in the control panel there a Java Plug in for each version).

  • Problems with Sampling rate in LabVIEW with 1/4 bridge strain gage

    Hello,
    I have a question.  I have SCXI 1001 and am trying to read strain gages and thermocouples.  In the slot 1 I have a 1122/1322 with thermocouples that works great.  In slot 2 I have a 1121/1321 that needs help.  I cannot figure out how to make a LabVIEW program to read the strain gage. 
    Is computer hardware a factor?  I have a relatively old Dell, 1.7 ghz, 256 MB RAM, and all of my programs bog my machine down.  My thermocouple program with 1 functioning channel takes almost 2 minutes to load. 
    Anyway, I program the DAQ assistant like I think it should be done, but I am having problems with the sampling rate.  Everytime I run the program I get an error message saying that it could not get the recommended samples in time.  I have had my delay time on my While Loop as low as .25 s and as high as 1.5 s.  I have changed my sampling rate from 1 hz to 1000 hz. 
    I would really appreciate any and all help on this matter.  I am still very new to LabVIEW. <I could not contain my excitement when my thermocouple program worked>
    Thanks,
    CDawgttu

    Hi CDawgttu,
    I think the best thing that we can do for the moment is to try and see what the maximum rate you can get on the 1121 is, when working on its own.
    According to the DataSheet the 1122 is more likely to be what's slowing you down.  There could also be some concerns with how the internal jumpers are set on the 1121, so you may want to make sure that the settings there match how you have configured your board in Measurement and Automation Explorer. 
    -You can set this up by right clicking on the SCXI module and adjusting the Properties.  On the Jumpers Tab you should then make sure the values match what you've set internally (SCXI-1121 User Manual - Chapter 2)-
    When you use just the 1121, see if that makes a difference in your overall application speed.
    Finally, it may be easier to use an example program than the DAQ Assistant since you are using such an old machine.  You can find Strain Gauge examples by opening LabVIEW and following this path:
    Help > Find Examples > Browse > Hardware Input and Output > DAQmx > Analog Measurements > Strain > Cont Acq Strain Samples.vi
    I hope some of these tips get you pointed down the right path.
    Regards,
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • Problems with activeX and native

    Hello SDN Community,
    i use NW04S SP11, NWDS 7.0.11 and Adobe LifecycleDesigner 7.1.
    I want to generate an Interactive Form with WebDynpro for Java only for Printing and Saving. Also I don't want to display the document in the browser so I set the displayType to activeX, because this isn't possible with native (ZCI). I have also installed the Active Component Framework. But when I deploy the application with activeX and start the application the Form is not displayed and the AcroRd32.exe runs with 98% in the TaskManager. When I deploy the Application with displayType native, the document is displayed but I can't save and open the document (Adobe Reader 8.0.0).
    I hope that anybody can help me. It's very urgent.
    Thanks
    Stefan

    Hello Tweety,
    I've installed the software for the IRtrans module. Unfortunately, I can't start a server, because for this I have to connect this module.
    If You can select the methods of the IRtrans objects in LabVIEW, the activex connection should be OK. Make sure, that You use the right parameters and the right data types.
    Here is a link to the software, I've installed. Do You have the same Version?
    http://www.irtrans.de/de/download/windows.php
    Klaus

  • Problems with async callback with the BPEL Java API (Urgent- pls help)

    Hi,
    I have an async BPEL process and I invoke it form a JSP page using BPEL java API.
    I have followed the tutorials and docs at:
    $SOA_HOME/bpel\samples\tutorials\102.InvokingProcesses\rmi\com\otn\samples\async
    I can inititiate successfully the process, but when I try to get the result using getResult() or getField(String fieldName) methods I get the error:
    Oct 2, 2007 2:35:16 PM oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
    WARNING: Exception returned by remote server: {0}
    java.lang.ExceptionInInitializerError
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:242)
         at com.evermind.io.ClassLoaderObjectInputStream.resolveClass(ClassLoaderObjectInputStream.java:33)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
         at com.evermind.server.rmi.RMIClientConnection.handleMethodInvocationResponse(RMIClientConnection.java:856)
         at com.evermind.server.rmi.RMIClientConnection.handleOrmiCommandResponse(RMIClientConnection.java:287)
         at com.evermind.server.rmi.RMIClientConnection.dispatchResponse(RMIClientConnection.java:242)
         at com.evermind.server.rmi.RMIClientConnection.processReceivedCommand(RMIClientConnection.java:224)
         at com.evermind.server.rmi.RMIConnection.handleCommand(RMIConnection.java:152)
         at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands(RMIConnection.java:127)
         at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:107)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.util.MissingResourceException: Can't find bundle for base name com.collaxa.cube.i18n.exception_cube, locale en_US
         at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:836)
         at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:805)
         at java.util.ResourceBundle.getBundle(ResourceBundle.java:699)
         at com.collaxa.cube.CubeException.getResourceBundle(CubeException.java:142)
         at com.collaxa.cube.CubeException.<clinit>(CubeException.java:82)
         ... 17 more
    07/10/02 14:35:16 java.lang.ClassCastException: java.util.MissingResourceException
    07/10/02 14:35:16      at com.oracle.bpel.client.delivery.ext.async.thread.AsyncInstanceWatchdog.run(AsyncInstanceWatchdog.java:152)
    I check for the result only after I have checked that the instance is closed (completed or faulted) by using IInstanceHandle:getState() and InstanceHandle.STATE_CLOSED_COMPLETED, or IInstanceHandle.STATE_CLOSED_FAULTED
    I would like to add that so far I had no problems with invocation and geting result of sync BPEL processes. I do not what is missing for async processes.
    Any kind of help is appreciable.
    Thanks and best regards,
    Evanela

    Hi again,
    i managed to solve the problem:) Totally stupid.. the process variable name was not specified correctly..., but more stupid sounds the error message:))))
    Best Regards,
    Evanela

  • Problems with Serial Communication using Labview 6 and Solaris 8

    I am working on a Driver for a Temperature Controller. But I am stuck at the very basics. I am using Labview 6 and the platform is Solaris 8 on a SUN Ultra 60 Workstation. I can not get the Serial communication to work. When I am running raw (uncompiled) code it works (I can read from and write to ttya and ttyb) but once compiled I get error code 37 (device not found). I have tried the following steps to fix this with no luck.
    1) I made sure that the "serpdrv" file is in the same folder with the executable. I also make sure the serpdrv file is added as a support file when building the app.
    2) I changed from using traditional serial VI's to labview 6's new visa functions. With these "new" VI's when
    I try to initiliaze the visa device and wire a control to the "visa reference" input only 1 serial port shows up (ASRL2, missing ASRL1). I am not sure if this is part of same problem or whole new issue.
    3) I reinstalled both visa and labview 6.0.2 update hoping this would help with no luck
    4) I placed the following entry into the ".labviewrc" file
    labview.serialdevices: "/dev/ttya:/dev/ttyb"
    If anybody has had the same problem I would love to hear about it and if you have any solutions
    Jamie Shea

    Hi Jamie,
    1. Do you have NI-VISA driver installed on the machine on which you are running this executable?? If you are trying to run the executable on the same machine on which the development program has ran fine, then you can ignore this point.
    2. If you have done all the changes that are suggested by other discussions related to this topic, then try changing the Port input to Visa Serial Configure.Vi from a control to a constant and try it. In some case, I have seen this to do the trick. I think this point should solve your problem. If it does do tell me. :-))

  • Problem with ActiveX / Excel / LV7.1 in program which worked on an older LV7.1 installation...

    Hi,
    I have a LV7.1 program which worked when ran on an older LV7.1 installation. 
    I installed Office XP and LV7.1 and can open the program with no problems.  After opening I ctrl+shift+click the run button to force a recompile and the arrow becomes broken.
    All the errors I have found are the same: Invoke Node contains unwired or bad terminal.
    Below is a screenshot of one of the erroneous block diagrams.  I am hoping the error is recognizable.
    The only two issues I can think of are:
    1. I am running Windows 7- perhaps the ActiveX does not work the same way?  I am currently installing Windows XP to see if this corrects the problem.
    2. Perhaps there was an Office toolkit or something used along with LV7.1 to create this program?  If so, any ideas on what it was and where I can get a hold of it? 
    Thanks,
    Dave
    Solved!
    Go to Solution.

    Thanks Bob.  Yes, the invoke node in the picture was the one throwing the error.
    I know next to nothing about ActiveX.  I right clicked the refnum control on the front panel and created a new invoke node on the block diagram (wasn't sure exactly how to link to the existing invoke node).  I rewired all the old connections and deleted the old invoke node.  Seems to have taken care of the problem.
    Would the object model mismatch been caused by different versions of Offie being installed?  I was thinking about trying Office 97 as well but if rewiring fixes all the problems I guess I won't need to.
    Thanks again,
    Dave

  • Anyone worked with activex controls within labview

    I am working on an new project and the instrument has an activex/Dcom control. Any ideas on how to work with this in my laview (8) environment?

    Sounds like you are having a control which can be embedded.
    You can create an empty ActiveX container on the front panel (Container palette). Rightclick it and select "Insert ActiveX Object" and browse for your control. If you did not register it, you will have to switch to "Create Object From File" and browse for the ocx/dll-file.
    The rest is standard ActiveX interfacing using property/invoke nodes.
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Problem with ActiveX control, Microsoft Toolbar Control, version 6.0

    Hi everyone,
    I built a virtual machine on my desktop and installed Windows and Labview.  Everything looks fine. Then when I tried to insert ActiveX control, Microsoft Toolbar Control, version 6.0, in Labview, it says "Class is not licensed for use". 
    By the way, it works perfectly at my desktop enviroment.
    Any idea? Thanks a lot for any help.
    Anne

    There are two different licenses for those controls: a development license and a run-time license. Did you at some point have Visual C/C++/Basic 6.0 installed? If so, that would have installed the development license. That's the license you're missing on the virtual machine. This KB article discusses this issue: http://support.microsoft.com/kb/318597. It relates to using the controls in Visual Studio 2005, but it applies to LabVIEW as well.

  • Having problems with Camac drivers and labview

    I have a Lecroy 2249SG adc with a DSP6001 control board.  I upgraded from LabView 5.0 to LabView 6.0 and now my Sub vi's for communicating with the CAMAC do not work.  The drivers were from DSP and were for Windows NT and a previous lab member modified them to work with Windows 98.  The drivers are .dll files.  When I send a LAM to the CAMAC, I get a Q=0 and/or a X=0  back from the CAMAC - Q=0 means no response, and X=0 means command not accepted.  My previous lab member explained the modifications like this: "I remember that I somehow looked at the code and besides a lot of unintelligable symbols I saw things that looked like the expected CAMAC commands except that they had a lot of really strange extra symbols
    attached to them. I then went into LabVIEW and replaced the expected command names by these slightly messed-up versions and - surprisingly - it worked."
    The company who supplied the drivers in the past no longer sells the control board, but I am trying to contact them for original drivers - don't think I will have much luck.
    I'm attaching the driver(WINCAM32.dll) and the vi that is used to generate the calls.
    Thanks.
    Shaun
    Attachments:
    WINCAM32.dll ‏1000 KB
    CamacOutput.VI ‏18 KB

    I searched NI's site to see if they had a driver for you. I've never worked with this instrument so I can't offer too much in the way of communicating with it. You might want to post this to the Instrument Control Forums (GPIB, etc) to see if people there may have used this.
    J.R. Allen

  • Problems with mass compiling for LabVIEW 6.0.2

    When mass compiling the LabVIEW folder after installing 6.0.2, I get a Log file telling me "Bad VI" for 8866 vi:s. Have looked specifically at two of them, and the broken arrows are fixed by pressing and clicking the broken arrow. Somehow I don't feel like doing this for 8866 vi:s.
    What is wrong, and how do I fix it?
    Attaching the Log.
    //Martin
    Attachments:
    MassCompileLog ‏1263 KB

    Yes, it definitely appears as though you need to reinstall NI-DAQ. You can receive this error when the VIs which are being mass compiled depend upon other VIs which are either not present or have been incorrectly updated. Make sure that you have installed NI-DAQ support for your new version of LabVIEW. This is separate from installed NI-DAQ by itself. You must install the LabVIEW support files also. You can get these off of NI's website.
    Also, if you did a complete install of LabVIEW, you may have installed a newer version of NI-DAQ without realizing it. This could cause a problem if there are two versions of NI-DAQ on your computer. Make sure you only have one version.
    J.R. Allen

Maybe you are looking for