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
-
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?
JustinI 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 -
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,
CDawgttuHi 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
StefanHello 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,
EvanelaHi 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 SheaHi 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. :-)) -
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.
AnneThere 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 KBI 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 KBYes, 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
-
Unable to install Firefox on Windows 7 as Admin
Hi.. I have uninstalled my Mozilla Firefox(as it was not able to update) and now trying to re-install it on my Windows 7 PC. When I ran the firefox installation file it is saying "You may have necessary permissions..Try to run as a diff user or as cu
-
Apple Macbook Pro 13" Late 2013 Overheating
Hi, After purchasing my first Macbook Pro around a month ago I was having issues with overheating, specifically when playing Football Manager 2014. After taking the laptop to the Apple store and explaining to them that after running a program recomme
-
Hi,my name is Hemanth.Im using ipod touch and my ipod is not detecting in itunes but detecting in my computer.Im using windows7 os.I tried the troubleshooting process given in web but still it not working please help me.
-
Flash with CS3 - Mac - Importing Audio
Greetings, Creative Suite 3, OS-X (Possibly Leopard as well, it's dual-boot). We're working on our first few flash animations, nothing heavy or anything. Every time we try to import audio (MP3 or WAV), the computer tries for a while (shows the little
-
Hi all, I have a big problem with the sync of images and photos from PC to iPod Touch 4G with iOS 4.3.3 using iTunes (lastest version). Every time i try to sync a folder, iTunes do the optimization, but when it goes to sync them to the iPod, it only