last update 15 sep 98 / greg goebel / public domain / vwb_gen
* The following entries give the bugs in the current VEE release. Hopefully these will be resolved in the next version of VEE.
* We have a long-standing issue in VEE. There are two objects that perform
timing tasks in VEE: ON CYCLE and WAIT.
ON CYCLE is a periodic timer that fires on a user-specified time interval
(such as once a second, once a minute, or whatever). WAIT simple delays
a user-specified time interval (a second, a minute, or whatever).
When VEE is executing either of these objects, it is doing nothing else.
This is by design. In a multiprocessing environment, it would be nice (as
long as VEE isn't really doing any work) for VEE to minimize its use of
processor time to allow other applications to run in parallel.
Unfortunately, when executing either of these objects, VEE is using 100% of
the processor's time, and no other application can run. This is proving an
increasing nuisance, particularly as VEE leverages more and more on
multiprocessing features such as Web enablement and ActiveX Automation.
The lab regards this as a priority but it is hard and won't make it into the
5.01 release.
* We have found an installation problem with HP VEE 5.0 under Windows. If
you try to install the product, under some circumstances you will get a file
error with a value of -51, and the installation will fail.
The problem is not due to any defect in the VEE product, but to a bogus
system file that may be installed by certain applications. This bogus file
can cause other problems as well.
The file is named "comcat.dll". This file is often installed with
installations of Windows software and there may be multiple copies of it
installed in a single system. It is appropriate to do a "Find" under Windows
to locate all the copies of "comcat.dll"; the bogus one has revision level
5.0 and is 6 KB in size.
This bogus file can apparently be installed by Microsoft Internet Explorer
4.01 under certain circumstances. There is a (somewhat cryptic) document on
Microsoft's support database, with the document number Q183370.
It was also shipped with software for the HPE1432 digitizer from HP Lake
Stevens Instrument Division (LSID). In fact, it was reports from LSID that
they couldn't install VEE on any PCs that brought the problem to a boil.
Just rename the bogus file to "comcat.dzz" or something else that hides it
from Windows and try reinstalling VEE. VEE will install its own (correct)
copy of "comcat.dll".
Our lab people suspect there may possibly also be "revision mismatch"
problems between "comcat.dll" and "ole32.dll", but right now we have only
confirmed problems with the bogus 6 KB v5.0 "comcat.dll" file.
* We found an odd bug with the Stripchart object under VEE 5.0. Consider
the following program:
The repeated clearing of the StripChart rapidly leads to an "out of memory"
error on Win95. It will run for a long time on WinNT but ultimately bog down
and report being low on memory.
No reasonable workaround that I've been able to find, I'm afraid. I give
this one a level-6 priority.
* Try configuring a MultiDevice Direct I/O object as follows (or similarly,
the bug's not too picky):
Now take the transactions off the Default Address settings, so you get:
Then if you run it and try to edit it, a wide variety of really unpleasant
things can happen, mostly involving corrupted device names ... in my case,
"dvm" was replace with "10", but it could be anything.
I found this on Win95. I had to try it twice or so before I found it, so you
may not see it right away. It seems to happen easily on HP-UX.
* If you make an object refence for ActiveX Automation (AxA) under VEE using
Createobject, it should go away when you perform a Delete Variable.
It doesn't, VEE leaves a few references hanging around.
* We had a serious error show up on ActiveX Automation operation with Matlab.
It turned out that Matlab had an object named PI that was conflicting with
the VEE definition of PI. There appears to be a general issue of possible
conflicts between reserved words and AxA objects that needs work.
* VEE 5.0 doesn't fully support "licensed controls". This leads to an
"ActiveX object could not be created" message.
ActiveX controls are provided by a vendor who generally has licensing terms
associated with it. ActiveX actually includes a protection mechanism to help
enforce licensing terms. When you plunk down money for a control and install
the control, you can create VEE programs and in those VEE programs you can
create new instances of that control.
When you save that VEE program, VEE asks the control if it supports runtime
licensing. If it does, then VEE asks the control for a runtime license key,
which is just some string provided by the control. VEE encrypts this string
and saves it with the program.
Now you have finished your VEE program and you want to distribute it to the
manufacturing floor. So you send around an installation disk that has the
VXE file, vee.io and the ActiveX control to the target system.
Now if you were to fire up a blank VEE on the target machine, create a new
program and try to insert the ActiveX control, VEE would fail with error
"ActiveX Object could not be created (80040112)".
That is because this manufacturing PC doesn't have a global license to use
the control. You would have to fork up the money and install the full
control package (or pirate the software) to create a control in a new VEE
program. This will be fixed in VEE 5.01.
* Instrument Manager won't allow you to configure a PNP driver if it is
connected to a serial interface.
* A user in the UK had a VEE program that talked to a serial instrument, but
had to use two different baud rates from within the same program. He tried
to create two different device configurations with different baud rates, but
the baud rate did not change.
I checked this out on VEE 4.01 and the user's right, the baud rate doesn't
change. However, it will work if he does an EXECUTE RESET when he switches
device configurations as the first transaction in the Direct I/O box.
* If you configure a Real Slider to the range 11.3 to 11.7 and set the detent
to 0.1, then you will *not* be able to move the slider bar above 11.6 ... the
last interval is locked out and you will not be able to select 11.7.
This is clearly because the floating-point value at 11.7 exceeds the range of
the Slider. The lab says there is an underlying C compiler bug, but they
should be able to get around it in a future version easily enough.
* We found two problems in the initial release of the VEE 5.0 evaluation kit.
First, the default pathname for saving files is bogus. Second, the
evaluation kit wouldn't install if certain files weren't installed on Win95.
* I don't know if this is a bug or not, but it's odd. Create a Notepad in
VEE 4.0 with text with tabs in it, then import it into VEE 5.0, and the
tabs are peculiarly rearranged.
* HP Japan reported an odd problem to us concerning GPIO Direct I/O on HP VEE
... it seems that if you perform a WAIT between two I/O transactions, then
the wait occurs first -- and then does both transactions together.
I managed to demonstrate this by obtaining a GPIO test box from George T and
obtained an E2075 GPIO card ... I plugged it into my PC running Win95, and
after some fumbling wrote the following program:
Workaround is straightforward: use separate DIO boxes. We have seen this
problem before but this is the first time we've been able to demonstrate it
clearly. Unfortunately, it won't be fixed in VEE 5.0.
* That's right ... DIO will seem to work OK but the VEE classic driver gives
off-the-wall errors. This is likely an indication of a bigger and nastier
problem. Will not be fixed in VEE 5.0.
* A Euro support person gave me a program with a complicated UserFunction
panel display (incorporating several graph objects, labels, and the like).
The UserFunction had a Print pin, and in normal operation the printing worked
just fine. However, when the program was secured it would only print one
of the graphics objects, not the entire panel.
* That's right -- if you make a panel with an XY Trace on it and set markers
on it, if you use SavePanelImage() to save the file you end up with the
markers in the default positions, no matter where they actually have been
set.
This will not be fixed in the 5.01 release.
* Odd bug. Customer wrote a DLL with comment strings in it for the VEE
Function & Object Browser. If you use the object menu on the Import Library
object to do a Load Library, the comment strings won't show up, while they
will if you do an Import Library.
The customer was also trying to do multiline comment fields by inserting
"\n" into the strings. Says the line was always truncated to the first
line. Lab says it should work.
* An HP field person was trying to tweak an older program and getting an
error on trying to import a library.
As it turned out, he was giving the library the name "LOGON" on loading and
then invoking a UserFunction named "LogOn" inside that library. In VEE 5.0,
the rules were tightened up to accommodate ActiveX features. You CANNOT have
a library named "LOGON" with a function named "Logon" or LogOn" or whatever
(not case-sensitive) in it, you get that rather cryptic error message:
It works if you go to VEE 4.0 mode, load the library, and then back again to
Standard mode is because you have already loaded the library and under VEE
5.0 it's not loaded again.
I was able to get a more sensible error message at one point but have now
been unable to duplicate it. I think we need to work on that error message.
* An HP field person in Denmark found a funny bug with VEE Direct I/O
(and apparently VEE MultiDevice Direct I/O) Consider the following
Direct-I/O program, which appears as it would after having been run once:
The workaround is of course to get rid of the nonfunctional input pin, but
this is an ugly little thing anyway.
* There's a bug in the help file for VEE. Go to:
[*] BUG IN VEE 5.0 / On Cycle & Wait Hog CPU
[*] BUG IN VEE 5.0 / Installation Problem With COMCAT.DLL
[*] BUG IN VEE 5.0 / VEE Stripchart Doesn't Release Memory
[*] BUG IN VEE 5.0 / Multidevice DIO Gets Corrupted When Address Used
[*] BUG IN VEE 5.0 / VEE Won't Release Object References
[*] BUG IN VEE 5.0 / AxA Parameter Conflict Problem
[*] BUG IN VEE 5.0 / Support Problems With Licensed Controls
[*] BUG IN VEE 5.0 / No RS-232 Support For PNP Drivers On VEE
[*] BUG IN VEE 5.0 / Can't Switch Serial Baudrates
[*] BUG IN VEE 5.0 / Slider Object Oddities
[*] BUG IN VEE 5.0 / Eval Kit Problems
[*] BUG IN VEE 5.0 / Notepad Tab Handling Changed
[*] BUG IN VEE 5.0 / Misplaced Wait Timing In DIO Objects
[*] BUG IN VEE 5.0 / 34401 Panel Driver Doesn't Work Under RS-232
[*] BUG IN VEE 5.0 / Printing Failure With Secured Userfunctions
[*] BUG IN VEE 5.0 / XY Trace Markers Don't Work On SavePanelImage()
[*] BUG IN VEE 5.0 / DLL Comment String Issues
[*] BUG IN VEE 5.0 / Import Library Issue
[*] BUG IN VEE 5.0 / Data Pins Retain Values On DIO Object
[*] BUG IN VEE 5.0 / Propagation Documentation Bug
[*] BUG IN VEE 5.0 / On Cycle & Wait Hog CPU
[*] BUG IN VEE 5.0 / Installation Problem With COMCAT.DLL
[*] BUG IN VEE 5.0 / VEE Stripchart Doesn't Release Memory
+-------+
| Until | +----------------
| Break +----+ | StripChart
+-------+ | +--------+-------
| | |
+----+----+ | |
| Random +------------------------------------>| Trace1 |
+----+----+ | |
| +-----------------+ | |
| | If/Then/Else | | |
+-->+---------+ +----------+------+ | |
| Counter +-->| A >= 200 | Then +--+-->| Clear |
+-->+---------+ +----------+------+ | | |
| Clear | +--------+-------
+--------------------------------------+
[*] BUG IN VEE 5.0 / Multidevice DIO Gets Corrupted When Address Used
+---------------------------------------+
| MultiDevice Direct I/O |
+-----------------------------------+---+
| READ "dvm" TEXT x REAL | X |
| WRITE "oscope" TEXT "IDN?" EOL | |
| READ "oscope" TEXT Y STR | Y |
+-----------------------------------+---+
+---------------------------------------+
| MultiDevice Direct I/O |
+-----------------------------------+---+
| READ "dvm" 723 TEXT x REAL | X |
| WRITE "oscope" 713 TEXT "IDN?" EOL| |
| READ "oscope" 713 TEXT Y STR | Y |
+-----------------------------------+---+
[*] BUG IN VEE 5.0 / VEE Won't Release Object References
[*] BUG IN VEE 5.0 / AxA Parameter Conflict Problem
[*] BUG IN VEE 5.0 / Support Problems With Licensed Controls
[*] BUG IN VEE 5.0 / No RS-232 Support For PNP Drivers On VEE
[*] BUG IN VEE 5.0 / Can't Switch Serial Baudrates
[*] BUG IN VEE 5.0 / Slider Object Oddities
[*] BUG IN VEE 5.0 / Eval Kit Problems
[*] BUG IN VEE 5.0 / Notepad Tab Handling Changed
[*] BUG IN VEE 5.0 / Misplaced Wait Timing In DIO Objects
+-------+
| Start |
+---+---+
|
+------------+------------+
| GPIO (@120 |
+-------------------------+
| WRITE BINARY 0 INT16 |
+------------+------------+
|
+----+----+
| Delay:3 |
+----+----+
|
+------------+------------+
| GPIO (@120 |
+-------------------------+
| WRITE BINARY 1 INT16 |
+------------+------------+
|
+----+----+
| Delay:3 |
+----+----+
|
+------------+------------+
| GPIO (@120 |
+-------------------------+
| WRITE BINARY 0 INT16 |
| WAIT INTERVAL:3 |
| WRITE BINARY 0 INT16 |
+-------------------------+
Run this program with the GPIO exerciser and the LED goes off ... wait three
seconds and the LED goes on ... then six seconds later it goes off (the
WAIT occurs before either of the turn-off transactions.
[*] BUG IN VEE 5.0 / 34401 Panel Driver Doesn't Work Under RS-232
[*] BUG IN VEE 5.0 / Printing Failure With Secured Userfunctions
[*] BUG IN VEE 5.0 / XY Trace Markers Don't Work On SavePanelImage()
[*] BUG IN VEE 5.0 / DLL Comment String Issues
[*] BUG IN VEE 5.0 / Import Library Issue
Invalid operation for data type imported Library Name, expected a User
Function for LogOn.
[*] BUG IN VEE 5.0 / Data Pins Retain Values On DIO Object
+-------------------------------------+ +-----------------------+
| dmm (hp34401A@722) | | AlphaNumeric |
+---------------------------------+---+ +-----------------------+
| WRITE TEXT "*IDN?" EOL | X +------>| HEWLETT-PACKARD 34401 |
| READ TEXT x STR | | +-----------------------+
| WRITE TEXT ":MEAS:VOLT:DC?" EOL | Y +---+
| READ TEXT y REAL | | | +-----------------------+
+---------------------------------+---+ | | AlphaNumeric |
| +-----------------------+
+-->| -2.527u |
+-----------------------+
Now delete the last two transactions and run it again:
+-------------------------------------+ +-----------------------+
| dmm (hp34401A@722) | | AlphaNumeric |
+---------------------------------+---+ +-----------------------+
| WRITE TEXT "*IDN?" EOL | X +------>| HEWLETT-PACKARD 34401 |
| READ TEXT x STR | | +-----------------------+
| | Y +---+
| | | | +-----------------------+
+---------------------------------+---+ | | AlphaNumeric |
| +-----------------------+
+-->| -2.527u |
+-----------------------+
The data on the Y output pin remains valid, no matter what you do, and the
only way to get rid of it is save and reload.
[*] BUG IN VEE 5.0 / Propagation Documentation Bug
-> Tell Me About
-> Propagation
-> Some UserObject Concepts
The text implies that UserObjects will operate in parallel with other paths
of the same program. This hasn't been true since VEE 3.X, and it was
unreliable then.