BACK TO INDEX

Bugs Fixed In VEE 4.X

Bugs Fixed In VEE 4.X

last update 27 aug 98 / greg goebel / public domain / vwb_4x

* This document lists bugs fixed in VEE 4.01 and 4.0.


[*] VEE 4.01 OVERVIEW
[*] FIXED IN VEE 4.01 / No Parity Setting
[*] FIXED IN VEE 4.01 / No Instrument Manager Refresh If No SICL
[*] FIXED IN VEE 4.01 / Compiling Formulas Takes Forever
[*] FIXED IN VEE 4.01 / Slow Error Pin Trapping
[*] FIXED IN VEE 4.01 / SPOLL Hogs CPU Cycles
[*] VEE 4.0 OVERVIEW
[*] FIXED IN VEE 4.0 / Instrument Driver Problems
[*] FIXED IN VEE 4.0 / No (Network) Services File Blocks Installation
[*] FIXED IN VEE 4.0 / Real Slider Problem
[*] FIXED IN VEE 4.0 / Instrument Finder Replaced
[*] FIXED IN VEE 4.0 / Start Button Problem
[*] FIXED IN VEE 4.0 / Nasty Repeat Object Hangup
[*] FIXED IN VEE 4.0 / X-Terminal Bug
[*] FIXED IN VEE 4.0 / IEEE-728 Binblocks Broken
[*] FIXED IN VEE 4.0 / Mday() Function Broken
[*] FIXED IN VEE 4.0 / Color Alarm Problem
[*] FIXED IN VEE 4.0 / Complex Data Entry Defective
[*] FIXED IN VEE 4.0 / Serial Read Termination Character Problems
[*] FIXED IN VEE 4.0 / Bogus Serial Status Lines
[*] FIXED IN VEE 4.0 / Polar Plot Documentation Error
[*] FIXED IN VEE 4.0 / Concatenation Records With Enums
[*] FIXED IN VEE 4.0 / Multidevice I/O Addressing

 BACK TO INDEX

[*] VEE 4.01 OVERVIEW

* The VEE 4.01 release was basically for bug fixes to VEE 4.0 and had no major new functionality.

[*] FIXED IN VEE 4.01 / No Parity Setting

* It was impossible to set any parity value on RS-232 except "none".

[*] FIXED IN VEE 4.01 / No Instrument Manager Refresh If No SICL

* The Instrument Manager would not refresh instrument settings if SICL was not installed. This was a problem with somebody who had only installed National Instruments software.

[*] FIXED IN VEE 4.01 / Compiling Formulas Takes Forever

* Compiling Formula objects took an amount of time proportional to the square of the number of terms in the Formula, making compile time extremely slow for certain programs.

[*] FIXED IN VEE 4.01 / Slow Error Pin Trapping

* Error pin handling was very slow on VEE 4.0.

[*] FIXED IN VEE 4.01 / SPOLL Hogs CPU Cycles

* Using Interface Event to perform SPOLLs hogged CPU cycles.

[*] VEE 4.0 OVERVIEW

* VEE 4.0 offered major improvements in the VEE user interface, but nailed down a few bugs as well.

[*] FIXED IN VEE 4.0 / Instrument Driver Problems

* We uncovered a set of subtle bugs in the operation of classic VEE IDs (Panel Drivers & Component Drivers) in the 3.2X versions of VEE that were not present in the previous 3.12 version of VEE.

The problems arose because we rearranged the internal structure of the VEE program files in VEE 3.2 to make them load faster -- we separated the internal configuration of the VEE objects from their external appearance, with the subtle result that in some cases internal data structures of classic VEE IDs are not initialized properly.

The errors include:

[*] FIXED IN VEE 4.0 / No (Network) Services File Blocks Installation

* In some cases, VEE will go all the way through installation and then at the end give an error message saying the "Services" file wasn't found. This only happens when ARPA services are not installed. Just add a dummy file named "Services" to the Windows directory and it will work.

[*] FIXED IN VEE 4.0 / Real Slider Problem

* If you bring up a Real Slider, change its properties to "Show Digital Display" off, then put it on a Panel View, the track in which the slider button moves butts up into the title of the Slider object, and if you move the slider button to the bottom of the scale, it vanishes (though you can bring it back).

[*] FIXED IN VEE 4.0 / Instrument Finder Replaced

* The Instrument Finder, VCONFIG.EXE, is broken. It gives very strange addresses under some circumstances. The Instrument Finder was replaced by Instrument Manager.

[*] FIXED IN VEE 4.0 / Start Button Problem

* A customer gave us a program that exhibited peculiar behavior. It consisted of four Call Function boxes as follows:


   +---------------+
   | Call Function |
   +---------------+
   | setheader()   |
   +-------+-------+
           |
   +-------+-------+
   | Call Function |
   +---------------+
   | setdata()     |
   +-------+-------+
           |
   +-------+-------+
   | Call Function |
   +---------------+
   | setdata()     |
   +-------+-------+
           |      
   +-------+-------+
   | Call Function |
   +---------------+
   | setheader()   |
   +---------------+   

The only thing the functions "setheader()" and "setdata()" contained were To File objects, with the flag "Clear File At Prerun & Open" set. The "setheader()" function stored the string "Header", while the "setdata()" function stored the string "Data String".

When this program was run, it produced the output file:


   Header
   Data String
   Data String
   Header  

The bug showed up if you added a Start button:


       +-------+
       | Start |
       +---+---+
           |
   +-------+-------+
   | Call Function |
   +---------------+
   | setheader()   |
   +-------+-------+
           |
          ...   

After running this the file contained:


   Data String
   Data String
   Header   

The initial header was missing.

On talking with the lab, they indicated that this was a known problem. When a Start button is used in a program, prerun is deferred until an object is executed. This means that "setheader()" is executed and prerun (clearing the file) and then "setdata()" is executed and prerun (clearing the file); the subsequent executions of "setdata()" and "setheader()" are OK since they have now been prerun.

[*] FIXED IN VEE 4.0 / Nasty Repeat Object Hangup

* A field person came up with the following extremely simple example program:


   +----------+
   | Formula  |
   +----------+
   | MyFunc() |
   +----------+  

-- where "MyFunc()" consists of:


   +------------------------------+
   |         UserFunction         |
   +------------------------------+
   |                              |
   | +---------------+            |
   | | For Count: 10 +--+         |
   | +---------------+  |         |
   |                    |         |
   |               +----+----+    |
   |               | Message |    |
   |               |   Box   |    |
   |               +---------+    |
   |                              |
   +------------------------------+  

The trick is: Run this and let the Message Box pop up once or twice -- then stop the program. Next time you run it, the Message Box will only pop up once instead of cycle through the ten times specified. The only way to get it to work again is to reload.

Actually, this has nothing to do with the MessageBox object. It has to do with iterators being stopped in a UserFunction.

[*] FIXED IN VEE 4.0 / X-Terminal Bug

* We found an odd bug in VEE-UX recently ... a customer tried to use it with an X-Windows terminal emulator operating on a PC, and VEE-UX crashed immediately with the error:


   error:  internal error:  segmentation violation (signal=11) 
   errorcode -979
   program aborted with escape code: 979  

We had considerable trouble tracking this one down, but eventually we learned that VEE-UX had troubles if the PC X-Terminal was running on a display with a driver whose color resolution was set to anything but 256 colors. Setting the driver to 256 colors eliminated the problem.

[*] FIXED IN VEE 4.0 / IEEE-728 Binblocks Broken

* VEE has the capability to perform BINBLOCK transfers on IEEE-728 data blocks, which are defined by a header as follows:


  #A<16-bit INT>  

The INT gives the length of the following binary string. You have to set VEE's I/O to "488" and "#A" to swallow it ... but if you do this on VEE for Windows and try it you get:


   INT32 is out of range for number of bytes to allocate (134217727)  

I have a HYPER-VIPER program that can generate the necessary data (use a block of 201x16 = 3216 bytes. This does not happen on VEE-UX, BTW.

You can synthesize the block read with other DIO transactions:


   READ BINARY NULL BYTE ARRAY:2          // Read #A.
   READ BINARY x INT16                    // Get length.
   READ BINARY Y BYTE ARRAY:X             // Read pin to get data.
 
Note how the length is read into pin X and then used as an array length for the array in the last transation. If you want to read REAL data, say, you'll need to divide it by 8.

[*] FIXED IN VEE 4.0 / Mday() Function Broken

* If you use the "mday()" function for VEE 3.21 on Win95 and WINNT, it returns the day, with the value 65536 tacked on. Works fine on UX and VEE 3.12 on Win3. Just do a MOD with 65536 and you'll get the right value.

[*] FIXED IN VEE 4.0 / Color Alarm Problem

* If you bring up a Color Alarm object with VEE 3.12, you get the object with a little circular color bitmap on it. If you do the same thing on VEE 3.21, you get the object, but no circular bitmap; you don't get an object until you actually activate the object.

[*] FIXED IN VEE 4.0 / Complex Data Entry Defective

* Trying to enter values into a complex constant leads to odd numeric results. Workaround is, just use two real constants and then generate the complex value with a Build Complex object.

[*] FIXED IN VEE 4.0 / Serial Read Termination Character Problems

* We have had problems with specifying read termination characters for serial I/O.

[*] FIXED IN VEE 4.0 / Bogus Serial Status Lines

* Turns out that in the latest version of VEE we have the ability to set DTR and RTS, which is great. We also have the ability to read DTR and RTS, which is not, since (a) its'a a useless operation and (b) customers are going to want to read DSR and CTS. This was changed appropriately in VEE 4.0.

[*] FIXED IN VEE 4.0 / Polar Plot Documentation Error

* The section that describes "Scales" under the "Traces & Scales" entry for "Polar Plot" in the help and manuals is grossly inaccurate. It appears that the materials for the other graphics objects was simply cloned there unchanged.

[*] FIXED IN VEE 4.0 / Concatenation Records With Enums

* Here's a funny one. Consider the following program:


   +--------------------+
   |       Record       |
   +--------------------+
   | [ Enum ] [ Item1 ] +--+
   +---------+----------+  |
             |             |                      +-----------------------+
   +---------+----------+  |                      |       To String       |
   |       Record       |  +-->+--------------+   +-----------------------+
   +--------------------+      | concatenator +-->| WRITE TEXT A[1].A EOL |
   | [ Enum ] [ Item1 ] +----->+--------------+   +-----------------------+
   +--------------------+  

The Enum in the record at top has two entries:


   [ Item 1 ] <-- Item 1 is selected.
   [ Item 2 ]  

That in the bottom has four entries:


   [ Item 1 ]
   [ Item 2 ]
   [ Item 3 ]
   [ Item 4 ] <-- Item 4 is selected.  

Run this and you get a BRB error on the To String immediately. Now VEE refuses to concatenate two different objects.

[*] FIXED IN VEE 4.0 / Multidevice I/O Addressing

* While you can specify multiple device names in Multidevice Direct I/O, there is also an option where you specify alternate addresses for one device name. However, if you change one device name to different addresses in the same MDIO object, only the last address is actually used.

 TOP OF PAGE


 BACK TO INDEX