Visual Basic Grid Custom Control RemoveItem Can Cause GPF/UAE

ID Number: Q84837

1.00

WINDOWS

buglist1.00

Summary:

The Grid custom control may causes a general protection (GP) fault

under Windows 3.1, or an Unrecoverable Application Error (UAE) under

Windows 3.0 when the following events coincide:

- FixedRows property is set to 0

- SelStartRow property is set to the bottom row (Rows - 1)

- RemoveItem method removes the bottom row

Microsoft has confirmed this to be a problem with the Grid custom

control supplied with Microsoft Professional Toolkit for Visual Basic

version 1.0 for Windows. We are researching this problem and will post

new information here as it becomes available.

More Information:

Steps to Reproduce Problem

--------------------------

1. Run Visual Basic, or from the File menu, choose New Project (ALT,

F, N) if Visual Basic is already running. Form1 is created by

default.

2. From the File menu, choose Add File. In the Files box, select the

GRID.VBX custom control file. The Grid tool appears in the toolbox.

3. Place a grid named Grid1 on Form1.

4. In the Properties list box, select FixedRows. In the Settings box,

enter 0.

5. Enter the following code:

Sub Form_Click ()

Grid1.SelStartRow = Grid1.Rows - 1

Grid1.RemoveItem Grid1.Rows - 1

End Sub

6. Press F5 to run the program.

7. Click on Form1. This removes the bottom row.

8. Click on one of the cells remaining in the grid. Under Windows 3.1,

a GP fault occurs and under Windows 3.0 a UAE occurs.

Windows 3.1 displays the following message in a dialog box titled "VB"

with a button captioned "Close" and a button captioned "Ignore".

An error has occurred in your application.

If you choose Ignore, you should save your work in a new file.

If you choose Close, your application will terminate.

If you choose Close, Windows 3.1 displays the following message in a

dialog box titled "Application Error":

VB cause a General Protection Fault in

module GRID.VBX at xxxx:xxxx

Windows 3.0 displays a dialog box titled "UNRECOVERABLE APPLICATION

ERROR" containing the message "Terminating Current Application."

Additional reference words: 1.00