Service Pack 4 addresses and corrects several issues inMicrosoft® Visual Basic 6.0. The Service Pack solves problems with Visual Basic Controls,worldwide versions of Visual Basic, and the Package and Deployment Wizard. Service Packalso corrects several of the miscellaneous problems that cause general protection faultsand automation errors in the Visual Basic environment. To be used only with the ENGLISH version of VisualBasic 6.0.
Setting the Text property in the Click event of a ComboBox control causes the text field to be blank.
Buttons removed from a ToolBar control no longer appear in the Customize dialog.
Changing the order of buttons in a ToolBar control causes duplicate images.
NodeClick events in a TreeView control are triggered even though the CausesValidation and HideSelection properties are True and another control losing focus returns "Cancel = True" from its Validate event.
The OpenURL method of the Internet Transfer Control truncates downloaded files.
Setting the Checkboxes property to True in the ListView and TreeView controls causes excessive resource usage.
Using the SendData method of multiple Winsock controls may block all but the most recently established connection and may cause loss of data.
Calling the End statement in the Unload event of a form containing a Coolbar control caused an "Invalid Page Fault".
Setting the ControlSource property of the RichText control in Access results in a "Property cannot be set" message when entering preview mode.
Negotiated menus in UserControls caused excessive resource usage.
Calling the Unload method in the DoubleClick event of a ListBox control caused an "Invalid Page Fault."
The IMEMode property of the TextBox and ComboBox controls caused excessive resource usage in compiled applications on the Japanese version of Windows 98.
The PointSelected event of the Chart control returned an incorrect DataPoint.
In the KeyDown event of a PictureBox control sited on a UserControl, no KeyCode was returned for the HOME, END, PAGE UP, and PAGE DOWN keys.
Double-clicking a modal form shown from as SSTab control caused a MouseDown event to be fired on the SSTab control.
Attempting to enter text into a ListView control with IME set to a double-byte input option can cause an "Invalid Page Fault." This occurs with Japanese Visual Basic on Japanese Windows 98.
A ListView control can't read the SubItemIndex property of a ListView control in a Visual Basic 4 executable file.
The Data control reported an "unrecognized DB format" error when attempting to bind to an Access 2000 database.
Selecting the DataSource property of a TextBox control on a nested UserControl could cause an "Invalid Page Fault."
The ListView control failed to recognize mouse events when the MultiSelect property was set to True.
Cells in a DataGrid control containing double-byte characters could not be accessed using ARROW keys on Japanese systems.
Navigating through a DataGrid control by clicking on rows doesn't submit updates.
The Validate event of an intrinsic control sited on a UserControl causes an Access Violation in Italian Visual Basic.
ListView controls generate the ItemClick event twice when the LabelEdit property is set to Manual. Creating and populating a control array of ListView controls could cause an "Invalid Page Fault."
The wrong row had focus in a DataGrid control after repeatedly canceling the addition of new records.
Clicking on a node of a TreeView control with the SingleSel property set to True caused the wrong node to expand.
The contents of a RichText control couldn't be viewed in a report.
A TextBox bound to a RDC control failed to update when the CursorDriver property was set to UseClientBatch.
Updates to a DataGrid control could fail when using a Jet 4.0 OLEDB provider.
Calling unload from a CheckBox control could cause a General Protection Fault in Visual Basic on Windows 98.
Displaying a Windows Metafile (.wmf) in a PictureBox could cause excessive resource usage.
The EditMode property of an ADO Recordset was not set properly when bound to a DataCombo control.
Changing the RowSource property on a DataCombo or DataSource control caused an incorrect reference in the BoundColumn property.
Unloading a DBGrid control from a control array caused a General Protection Fault on NT 4.
The FieldChangeComplete event failed to fire for a TextBox contained in a UserControl.
Repeatedly loading and unloading a WinSock control at causes a memory leak. This has been fixed when running in the IDE, but not at run-time.
The current row in a DataGrid control changed each time a DataAdapter was re-bound to an OLE Simple Provider DataSource.
Changing the Name of a control in the Properties window could cause an "Invalid Page Fault" in Visual Basic under certain circumstances.
The size of a DateTimePicker control changes between design time and run time when placed on an Outlook form.
Winsock control stops responding when receiving UDP packets with a 0-byte length.
Setting the DataSource property of an ADOData control programmatically cause excessive resource usage.
The RichText control failed to instantiate on a Web page when Internet Explorer is installed after Visual Basic 6 is installed.
Repeatedly loading and unloading a form containing a Hierarchical FlexGrid control caused excessive resource usage.
Using a comma as a decimal separator caused an incorrect value in the DataGrid control in Danish Visual Basic.
Setting the PalletteMode property to UseZOrder on a form containing a Hierarchical FlexGrid control caused an "Invalid Page Fault."
Setting properties of a TextBox control in the Initialize event of a UserControl caused data binding to fail.
Package and Deployment WizardIssues
The following Package and Deployment Wizard issues have beenfixed:
Nested CAB file that refers to files in other CABs results in Locate File dialog box.
When distributing an Internet Explorer 5 & Page Designer Application with the Package and Deployment Wizard, a warning indicating "There is no dependency information for MSHTML.tlb" was displayed.
UserControls that contained a User Defined Type array as a parameter failed to register during deployment.
A necessary registration file for Oleaut32.dll wasn't included for packages installed on Traditional Chinese Windows, resulting in incorrect date/time functions.
Packages created on a Windows 2000 system caused an endless reboot when installed on other operating systems.
Missing CLSID in packages generated from ActiveX Document .Exe project.
Deploying applications created in German, French, Italian, or Spanish versions of Visual Basic caused a Type Mismatch error when installing to a U.S. English machine.
Adding code to log files copied during a reboot caused Setup to terminate abnormally.
Setup packages that contained more than 64 files in a single .Cab file could cause an infinite reboot cycle.
The CAB file for the Microsoft Scripting Runtime Library failed to download.
Setup packages could cause an infinite reboot loop when attempting to update bootstrap files.
The following miscellaneous issues have been fixed:
The Printform method ignores the Printer.Orientation property when the current printer is set to Portrait.
Nested UserControls fail to print in Internet Explorer.
Displaying a modal form in the Validate event of a control or UserControl caused the MouseDown event to fire for the control with focus on the modal form. This could be avoided by setting Cancel = True in the Validate event.
Displaying a modal form from an ActiveX .Exe for extended periods of time caused excessive resource usage.
User Controls created in Visual Basic 6 didn't print in Excel 97.
Updates for text columns in a SQL Server database failed when using RDO and ODBC CursorDriver.
The listbox for the DataSource property was slow to load in projects that contained a large number of forms.
HTML Page Truncated with Visual Studio SP3 WebClass Run Time when Running in the VB IDE.
Disabling SessionState on a Web server caused WebClasses to fail to load.
Reordering commands in the DataEnvironment could cause an "Invalid Page Fault."
Mouse events on the title bar of a form failed to fire when a UserControl was added to the form.
ATL .Dll files created in Visual C++ failed to register properly when added to a Visual Basic project.
Setting the Printer object to Nothing could cause an "Invalid Page Fault."
Creating an object on a new thread in a .Dll from a standard .Exe disables the ability to show modal dialog boxes on all threads.
Registering a Visual Basic 6 COM component in Microsoft Transaction Server that references another non-MTS Visual Basic 6 GlobalMultiUse COM component causes an access violation.
Setting the Height property of the Printer object causes excess paper to be ejected on some dot-matrix printers.
Closing multiple MDI child forms in rapid succession can cause an "Invalid Page Fault."
Exporting a report from the Report Writer to HTML causes a "Report width is larger than paper width" error when the orientation property is set to Landscape.
When printing a DataReport with the Orientation set to Landscape, the Print dialog box always defaulted to Portrait.
Using a line number in code following a function that returns a Double data type causes an Access Violation when attempting to compile an executable file.
Setting the DataSource property of a UserControl in the ActiveX Control Interface Wizard without first adding a reference to the DataSource object caused an "Invalid Page Fault."
Closing an Internet Explorer window after viewing a DHTML page caused an Access Violation in Internet Explorer 5.
Showing a DataReport after displaying a modal form can cause an Access Violation.
A UserControl containing a reference to an ADOData control on another UserControl causes an "Invalid Page Fault" when exiting a program.
Validation of data still occurs when calling the CancelUpdate method of an ADO Recordset.
An RDO UserConnection in an ActiveX .Dll can cause excessive resource usage.
WebClass projects couldn't be run on Windows 2000 Advanced Server.
When using late binding and the Currency data type with large values, incorrect results were returned.
The PrintForm method of a form containing a UserControl caused an "Invalid Page Fault" on Windows 98.
Setting the MaskPicture property of a UserControl with the Backstyle property set to Transparent caused excessive resource usage.
The Data Environment and the ADOData control caused a "Type mismatch" error with versions of ADO later than 2.0.
An Invalid Page Fault could occur when showing a modal form in a project that contains a Data Report.
Event monitoring stopped when an expression service was started.
Performing a lengthy operation without calling DoEvents caused excessive resource usage.
After performing a BatchUpdate from an rdoResultSet to SQL Server 7.0 the BatchCollisionCount property returned an incorrect result.
Attempting to compile a .dll project containing a reference to Microsoft Repository caused a General Protection Fault.
Loading multiple instances of a multithreaded .dll could cause a General Protection Fault.
Attempting to use ASP to create a .dll in the Visual Basic IDE failed on Windows 2000.
RDO didn't correctly recognize SQL_BIG_INT values in a SQL Server 7.0 database.
Compiling a UserControl that contained a MFC control caused a General Protection Fault when exiting Visual Basic.
Comparisons of floating point numbers gave incorrect results when using optimized code.
An error message was generated when exporting a DataReport to a HTML file.
The VB6 runtime CAB file (vbrun60sp3.exe) couldn't be run in silent mode.
A "Rows must be released" error occurred when using ADO and the OLEDB Provider for SQL Server.
Multiple VB6 .dll's in a MTS Library package could cause a General Protection Fault on shutdown of a client application.
Setting a Printer object to Nothing caused an Invalid Page Fault on Windows 9x.
The Printer object failed to track the default printer after changing the Orientation property.
A dynamically loaded UserControl failed to update a DataSource for bound TextBox controls.
The behavior of the ExitFocus for a UserControl embedded in another UserControl was inconsistent.
A "duplicate column name" occurred accessing an Access 97 database through ADO when using a double-byte character set.
"Limited Virtual Memory" Error Message When You Start Your Computer.
Access Violation in Remote Automation Manager
Repeatedly loading and unloading from NT services a .Dll created by Visual Basic could cause an "Invalid Page Fault" when RetainInMemory is set to False.
Windowless UserControls didn't paint properly with multiple UserControls on a form.
Windowless UserControls containing Shape controls didn't paint properly when the BackStyle property was set to Transparent.
Calling the PropertyChanged method of a data-bound UserControl failed to update the underlying data source.
Attempting to compile a project containing a reference to Project 98 caused an "Invalid Page Fault" in Visual Basic 6 with Service Pack 3.
Using a #If conditional compilation constant caused an "Invalid Page Fault" in Visual Basic.
The DataForm Wizard didn't recognize Access 2000 databases using DAO version 3.6.
Values entered in the Page Range fields in the Export dialog box for a DataReport were ignored on Windows 2000. A query containing a Like clause that includes a single underscore wildcard character returns incorrect results when using DBCS Japanese Kana characters.
User-defined types containing fixed strings didn't convert properly from Unicode to ANSI character sets.
The orientation of a DataReport couldn't be set programmatically.
Passing an array of objects to an out-of-process server could cause excessive resource usage. UserControls that display bitmaps could cause excessive usage of GDI resources.
Variant conversion functions on DBCS characters yield different results on Windows 2000.
The date stamp for the file eula.txt was incorrect.
The date stamp for the file redist.txt was incorrect.
The Rename command for a DataLink in the DataEnvironment couldn't be accessed.
NOTE: Thisservice pack can update only English versions of Visual Basic 6.0. NOTE: It only updates VisualBasic, NOT the entire Visual Studio package. To install, download all exe files in a single folder and run each one; restart thesystem after installation.