Service Pack 3 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.
"Invalid Page Fault" occurred when using a RichTextBox control with Excel.
Adding a windowless transparent control to a Frame control caused the Frame to display incorrectly.
Visual Basic did not dynamically load unlicensed MFC controls at run time.
The DataGrid's RowColChange event did not occur if the new row being scrolled to was not visible before the row change occurred.
The MinDate and MaxDate properties of the DTPicker control could be set during run time, but only the last property set had any effect.
Loading the MaskedEdit control in Internet Explorer and setting the PARAM Name mask value to greater than 64 characters caused a buffer overrun error.
An "Invalid Page Fault" error occurred in Visual Basic if you had a MsgBox in a DataGrid control's SelChange event.
Some accelerator keys and text edit control keyboard shortcuts (such as SHIFT+CTRL+END) were ignored in UserControls that were hosted by Internet Explorer.
The DataMemberChanged event did not work correctly with UserControls.
The DataGrid control could not add a new record if that record's field values were set programmatically.
The Button argument always equaled 0 in the DataGrid control's MouseUp and MouseDown events.
Adding a non-null value to a Boolean DataFormat property of a TextBox control contained in a DataReport resulted in an application error.
When using MDAC 2.1 with a DataGrid control, the column sizes were lost, and the columns bunched up to the left side.
Customizing the Toolbar control (from common controls) caused the buttons to enlarge.
Visual Basic would stop responding if you set the AxisScaleType property of an MSChart control to logarithmic.
An "Invalid property value" error occurred in the RichTextBox control's Property page when it was hosted in PowerPoint.
An automation error would occur in Visual Basic 6.0 if you ran a compiled .Exe with a UserControl containing a public User-Defined Type (UDT).
Clicking the thumb of a DataGrid control's horizontal scrollbar caused a hidden column 0 to display.
Errors, stopped programs, and problems with the nodes occurred when expanding and collapsing a TreeView control on a form.
If you attempted to set the Recordset property of an ADO Data Control to a child recordset in a hierarchy, you got a "Method 'Recordset' of object 'Iadodc' failed" error message.
In the BeforeColUpdate event of the DataGrid control, data was moved to the buffer prior to the event occurring. This meant, for example, DataGrid1.Columns(1).Value returned the contents of the cell prior to the edit, not the edited contents of the cell.
OLE-DB bound Hierarchical Flexgrid controls (MSHflexGrid) would crash in Internet Explorer.
The DataMember property of a UserControl was blank when you clicked its DataField combo box.
The MSFlexGrid control stopped running when its MergeCells Property was changed to Restrict.
The system would stop responding when you changed the size of an image in an ImageList control.
The vertical and horizontal scroll bars would not work correctly in Powerpoint or Word after running a project two or more times using a DataGrid control bound to a Data Control.
Using SendKeys with a TextBox with its Locked property set to True caused extra events to occur.
Visual Basic 6.0 controls were not functioning correctly when embedded in Office applications.
Visual Basic would stop responding when you closed an ActiveX DLL form that contained an RTF control.
Visual Basic would stop when compiling a project that used a With statement on a UserControl that contained a public User-Defined Type.
Visual Basic would stop when deleting nodes from a TreeView control.
The following worldwide product issues have been fixed:
Boolean values for non-English versions of Visual Basic were converted to their localized form. For example, setting b = True could result in a value of "Sant" for b if the Regional settings for Windows were set to Swedish.
An error occurred in French, Italian, and Spanish versions of Visual Basic after adding the Repository Add-In and then adding control details to the repository.
A memory leak occurred when using a CommandButton control with Visual Basic 6.0 and Japanese Windows version OSR2.5.
A General Protection Fault would occur in Japanese Visual Basic running in Windows 98 when you attempted to unload an MDI child form.
A Reserved Error occurred in the German version of Visual Basic when creating a Web Project after making changes to the HTML file and then choosing Close All.
An error occurred in the Korean Visual Basic Data Environment when using a default grouping command name.
Creating a Japanese procedure name in Japanese Visual Basic, using the IME, then running the procedure caused the name to change.
In Korean Windows, the IME Interim window would erroneously appear when an intrinsic control set focus with the KeyDown or KeyUp event of a Custom control.
In the French version of Visual Basic, some style attributes in the DHTML Page Designer and the HTML Select and List controls, such as Width, Height, Left, and Top, were erroneously translated to French instead of remaining in English.
The StrConv function did not support Japanese character sets on non-Japanese systems.
Using the RDO GetChunk method with DBCS characters resulted in a bad string.
When entering DBCS characters in Visual Basic running in Korean Windows, an IME Level 2 interim window would appear rather than the expected IME Level 3.
Microsoft ActiveXData Objects (ADO) documentation
Updated Microsoft ActiveX Data Objects (ADO) documentationis installed with Visual Studio 6 Service Pack 3. All users may access the updated ADO 2.1documentation (ado210.chm) from the Help folder in their Windows directory. Visual Basicusers will have access to this documentation through context-sensitive (F1) help if theyhave installed Microsoft Data Access Components 2.1 and created a reference to theMicrosoft ActiveX Data Objects 2.1 library.
To create a reference to the ADO 2.1 library:
From the Project menu, select References.
Ensure "Microsoft ActiveX Data Objects 2.1 Library" is selected.
Context-sensitive help is available for all ADO 2.1 objects,collections, methods, and properties. Pressing F1 calls the standalone ADO 2.1 help, notthe MSDN library.
Package and Deployment Wizard issues
The following Package and Deployment Wizard issues have beenfixed:
When you ran the PDWizard and chose "Standard Setup Package," COMCT332.OCX showed up in the "Out of Date Dependencies" list.
When distributing an Internet Explorer 5 & Page Designer Application with the Package and Deployment Wizard, you will get a warning indicating "There is no dependency information for MSHTML.tlb." Ignore this warning, and remove the type library from your distribution package. The application will run without errors on a computer equipped with Internet Explorer 5.
After installing an application that used a UserControl to the Active Desktop, an error would occur during Windows shutdown.
A "Type Mismatch" error occurred running the PDWizard in Italian Visual Basic.
During Visual Basic setup, an illegal operation occurred when registering the file MSRDO20.DLL.
Microsoft Data Access Component (MDAC) 2.1, which is provided with the Visual Basic 6.0 Service Pack 3, includes the Microsoft® Jet 4.0 OLE Database provider instead of the Jet 3.51 OLE Database provider, which was included with Visual Studio 6.0. Thus, if you install the Service Pack release, you should upgrade your applications to use the Jet 4.0 OLE Database provider. If you still wish to use the Jet 3.51 provider, you will have to resolve a redistribution issue with the Package and Deployment Wizard. Because the Service Pack 3 setup replaces MDAC_TYP.exe in the Package & Deployment Wizard's Redist folder, you will need to distribute the Mdac_typ.exe file from your Visual Studio 6.0 CD separately.
The dependency file for the HFlexGrid control (MSHFLXGD.dep) in Japanese Visual Basic contained invalid information for a satellite DLL.
The error "Can't setup" occurred in the PDWizard if the Name property of the project contained DBCS characters.
The following error "The TEMP folder is not on the same drive as your system folder is. Setup cannot continue" occurred although the temp folder existed and was on the same drive as the system folder.
The Package and Deployment Wizard (PDWizard) setup was unable to replace the Msvcrt.dll file, because the file was reportedly in use, resulting in a "File in use" error.
Uninstalling a Visual Basic application would crash when running st6unst.exe.
Using the PDWizard with the Traditional Chinese or Simplified Chinese version of Visual Basic resulted in a "Missing relative file" error when packaging a project with the DataEnviroment.
You could not select a mapped network drive in the Change Directory dialog box when installing a Visual Basic 6.0 application using a Setup program created by the PDWizard.
Run-time error with COMDLLs
The following Microsoft Visual Basic issue has been fixedwith Service Pack 1 and is included with Service Pack 3:
A run-time error can occur in compiled Visual Basic code when the application uses more than eight in-process COM DLLs.
If your applications download run-time components from theWeb on setup, note that the following files have changed with this Service Pack:
msvbvm60.cab vbrun60.cab oleaut.cab
"Error 429 - Can't Create Object" occurred when running an ActiveX Exe server on Windows NT 4.0.
If you attempted to add a form (such as Forms.Add("Form1")) at design time, it would work as expected, but if you did the same thing at run time, you'd get an automation error.
The WhatsThisHelp property did not work correctly in UserDocuments, either by clicking the "?" icon in the application or by calling the ShowWhatsThis method from with the UserDocument object.
In RDO, rs.Update would cause the system to not respond if the table was locked and you used an ODBC-side cursor.
Incorrect parameter values showed in the Local Variables window of the T-SQL Debugger.
If you had a UserDocument (ActiveX Document DLL or EXE) that displayed a modal dialog that loaded another modal dialog and then you closed both dialogs, when you attempted to quit the browser, you would get the error "The browser window (or ActiveX control in this page) is busy."
Running RegSvr32 /u with msvbvm60.dll would fail.
Printer.Scale in Visual Basic 6.0 was not fully compatible with earlier versions of Visual Basic.
The PSet statement was slow in Visual Basic 6.0.
Visual Basic stopped when you used Redim Preserve on an array of User-Defined Types in a public object.
A run-time error and General Protection Fault occurred after adding an Explorer-style submenu in the Visual Basic Application Wizard.
After editing and running a project, the Remove Project command caused Visual Basic to stop running.
Enumerated lists in statement completion did not appear after "Optional As." (For example, "Sub Test(Optional x As VbAppWinStyle=".)
If you created several standard DLLs, released them, then created the same amount of standard DLLs again, Visual Basic stopped running.
Sporadic stoppages of Visual Basic would occur running asynchronous RDO operations on multiprocessor systems.
The first data field updated during an ADO EndOfRecordset event always contained the previous value no matter to what it was set.
The fonts of all DataView-created dialog boxes (such as the Properties sheet, the Stored Procedure Parameters dialog box, and so on) and controls were changed if any control's Font property was changed.
There were inconsistencies in event firing order between Visual Basic 5.0 and Visual Basic 6.0 when showing a modal form.
Using the RDO ClientBatch cursor engine, decimal data was truncated after four digits of precision.
Visual Basic applications implementing the Microsoft® Transaction Server (MTS) context object will not debug but will compile and run. You are encouraged to implement ASP objects provided by the Webclass run time (Request, Response, Server, and so on) or create separate Visual Basic classes that employ the functionality of the MTS context object rather than utilizing the MTS context object in the Visual Basic process space.
Visual Basic stopped running when a string with extra spaces (such as ? Text1 . Text) was entered in the Immediate window.
Visual Basic stopped running when enumerating through CurrentDB.Properties.
Visual Basic stopped running when, in an IIS project, an error occurred after a command object's recordset was opened and a debug operation was performed.
NOTE:This service 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.