Microsoft Visual Studio 6.0 Service Pack 3 Readme
© 1999 Microsoft Corporation. All rights reserved.
Note This Readme file contains updated information for the entire Microsoft® Visual Studio® suite of developer tools. If you downloaded a Core service pack from the Internet, not all sections of this file apply to the updates you received. The fixed issues appropriate for the Core downloads are those listed in the Visual Studio section plus the sections for the products updated by your Core download.
The Microsoft Visual Studio 6.0 Service Pack 3 Readme contains the following sections:
For the latest product information, see the Visual Studio Web site at http://msdn.microsoft.com/vstudio.
For the latest year 2000 information regarding Microsoft products, see the Microsoft Year 2000 Readiness Disclosure and Resource Center Web Site located at http://microsoft.com/year2000. You can also call 1-888-MSFT-Y2K within the United States, toll-free, or contact your local Microsoft subsidiary.
Overview
The Microsoft Visual Studio 6.0 Service Pack 3 addresses known issues with Visual Studio 6.0. These fixes are categorized as:
- Fixes required by updates or upgrades to Microsoft® Office, Microsoft® SQL Server™, and Microsoft® Windows® operating systems, including Microsoft® Internet Explorer.
- Fixes requested by customers.
- Fixes that resolve compatibility problems with previous versions of Visual Studio.
In addition, this service pack addresses known binary-compatibility bugs with certain run-time redistributable files in Visual Studio 6.0. This service pack also provides the source files and debug versions of the Microsoft® Visual C++® run-time components for Visual C++ developers.
The Microsoft Visual Studio 6.0 Service Pack 3 includes all of the fixes in Service Packs 1 and 2 and updates the following Visual Studio applications:
- Microsoft Visual Studio, version 6.0 (Professional and Enterprise Editions)
- Microsoft® Visual Basic®, version 6.0 (Standard, Professional, and Enterprise Editions)
- Microsoft Visual C++, version 6.0 (Standard, Professional, and Enterprise Editions)
- Microsoft® Visual FoxPro®, version 6.0
- Microsoft® Visual InterDev™, version 6.0
- Microsoft® Visual J++®, version 6.0 (Standard and Professional Editions)
- Microsoft® Visual SourceSafe™, version 6.0
Note For any trial versions or working models of Visual Studio products, Service Pack 3 is not supported and is provided "as-is". However, it may be used to update the Visual Basic Working Model, the Visual C++ trial version, the Visual InterDev 90-day Trial Edition, and the Visual J++ trial version.
In addition, this service pack includes updated or upgraded versions of:
Installation
Install this service pack whenever you have updated or changed any of the applications in Visual Studio to ensure that you have the latest fixes. Any open applications should be shut down before installing this service pack.
To install from an Internet download
- See the Microsoft Visual Studio Home Page.
- Run SetupSP3.exe from your download extraction folder.
To install from CD-ROM
- Insert the compact disc into your computer's CD-ROM drive.
Setup will detect the language of your computer's operating system and automatically run one of the following setups:
\chs\SetupSP3.exe (Simplified Chinese)
\cht\SetupSP3.exe (Traditional Chinese)
\deu\SetupSP3.exe (German)
\enu\SetupSP3.exe (English)
\esp\SetupSP3.exe (Spanish)
\fra\SetupSP3.exe (French)
\ita\SetupSP3.exe (Italian)
\jpn\SetupSP3.exe (Japanese)
\kor\SetupSP3.exe (Korean)
If your operating system language setting is not in this list, the English version of Setup will run.
Note The service pack files for English, French, German, Italian, and Spanish are on one CD-ROM. The files for English, Simplified Chinese, Traditional Chinese, Japanese, and Korean are on another CD-ROM.
Refreshing the common directory setting
Under certain circumstances, the installation setting for the Visual Studio common directory can become damaged, which prevents the Service Pack Setup from updating files on your system. If the Service Pack Setup cannot find the common directory setting, it will alert you.
If you see this dialog box, refresh the directory setting by installing or reinstalling any Visual Studio product before installing the service pack. If you already have a Visual Studio product installed, reinstalling the product provides the quickest resolution.
To reinstall
- Open Control Panel.
- Choose Add/Remove Programs.
- Select the Install/Uninstall tab.
- Select Visual Studio 6.0.
- Choose Add/Remove.
- When Visual Studio Setup starts, select Reinstall to repeat the last installation and restore missing files and settings.
Installing Service Pack 3 on Windows 2000
Installing Service Pack 3 on Windows 2000 Beta 3 RC1
Run-time dynamic-link libraries (DLLs) and several other files are not updated on Windows 2000 Beta 3 RC1 because of the System File Protection feature in Windows 2000. Microsoft does not support installing Service Pack 3 on Windows 2000 Beta 3 RC1 but does support installation on the final release of Windows 2000 Beta 3.
To see the fixes that will not be available if you install the Visual Studio 6.0 SP3 on Windows 2000 Beta 3 RC1, see Microsoft Foundation Classes (MFC) issues and ATL issues.
Installing Service Pack 3 on Windows 2000 Beta 3
During setup of Visual Studio SP3 on Windows 2000 Beta 3, Windows 2000 will return this error message:
"File replacement was attempted on the protected system file <file>. This file needs to be restored to the correct Microsoft version to maintain system stability."
This error message will appear for several files. The files listed in the error messages will not be installed by Service Pack 3.
For the file expsrv.dll, this error is not critical. The update to expsrv.dll corrected a minor issue where an erroneous message from the Visual Basic Product Deployment Wizard would occur. This error can be safely ignored by Visual Basic users as well as by users of other Visual Studio products.
The other files, such as msdbg.dll, mdm.exe and pdm.dll contain important fixes that are necessary to Visual Studio, especially when developing applications against Microsoft® Internet Information Server (IIS). Because these are system files, Windows 2000 will not allow them to be updated, and the System File Protection error message will occur when running the Visual Studio SP3 Setup.
A QFE for Windows 2000 Beta 3 will be provided separately to obtain these newer files for that platform. For instructions on how to obtain this update, see the Microsoft Visual Studio Home Page. This problem is specific to Windows 2000 Beta 3, and not the retail version of Windows 2000.
Debugging Visual C++ and Visual J++ applications on Windows 2000 Beta 3
A late-breaking issue may prevent the debugging of Visual C++ and Visual J++ applications on Windows 2000 Beta 3. You can compile your applications. To restore debugging functionality, see the Microsoft Visual Studio Web site.
Visual Studio 6.0 Service Pack 3 requirements
The following products are required for this service pack:
The following products are strongly recommended for this service pack:
Specific product installation requirements
Some Visual Studio 6.0 products have specific installation requirements for Service Pack 3. Click one of the following product names to view its specific installation requirements.
Installing Microsoft Data Access Components 2.1
Microsoft Data Access Components (MDAC) 2.1 Service Pack 1 or later is required for Visual Studio 6.0 Service Pack 3. MDAC 2.1 SP1 is included with Visual Studio 6.0 Service Pack 3. If you do not have MDAC 2.1 SP1 or later installed, you must install it before installing the service pack. The Service Pack Setup will inform you if you must install MDAC 2.1 SP1.
Because MDAC 2.1 is a system component, you must install a language version matching your system's language setting. If you inadvertently install a language version that does not match your system's language setting, reinstall the appropriate MDAC 2.1 SP1 for your system's language setting.
For important information about a known issue with MDAC 2.1, see Record deletion causes loss of cursor position with ADO or Microsoft Access ODBC driver.
To install MDAC 2.1 SP1
- From an Internet download Download the service pack for your system's language setting. The MDAC 2.1 setup executable is downloaded as part of Visual Studio 6.0 Service Pack 3. To install MDAC 2.1 SP1, run MDAC_typ.exe from your download extraction folder.
- From the Service Pack CD-ROM Run the appropriate setup for your system's language setting:
\chs\MDAC_typ.exe (Simplified Chinese)
\cht\MDAC_typ.exe (Traditional Chinese)
\deu\MDAC_typ.exe (German)
\enu\MDAC_typ.exe (English)
\esp\MDAC_typ.exe (Spanish)
\fra\MDAC_typ.exe (French)
\ita\MDAC_typ.exe (Italian)
\jpn\MDAC_typ.exe (Japanese)
\kor\MDAC_typ.exe (Korean)
If MDAC 2.1 Setup requests that you restart your computer, you must do so and then restart Visual Studio Service Pack 3 Setup (SetupSP3.exe).
Installing the MDAC 2.1 library and header files
Setup does not install the MDAC 2.1 library and header files. Visual Studio Service Pack 3 has been tested with the MDAC 2.0 headers and libraries against the MDAC 2.1 binaries. If you must use specific MDAC 2.1 interfaces, you must install the headers and libraries manually. To do so, copy them into the VC98\include and VC98\lib directories respectively. The headers and libraries are in the \Support folder on the Service Pack CD or in your extraction folder if you downloaded the service pack from the Internet, and consist of the following files:
| Adc.h |
adoctint.h |
adodef.h |
adoid.h |
| Adoint.h |
adojet.h |
adojet.idl |
adomd.h |
| Adomd.idl |
cmdtree.h |
icrsint.h |
jetoledb.h |
| Jetoledb.idl |
jetoledb.lib |
msado15.h |
msado15.idl |
| Msdadc.h |
msdaguid.h |
msdaora.h |
msdaosp.h |
| Msdasc.h |
msdasc.lib |
msdasql.h |
msdatsrc.h |
| Msdatsrc.tlb |
msdshape.h |
msjetoledb.h |
msremote.h |
| Odbc32.lib |
odbccp32.lib |
odbcinst.h |
oledb.h |
| Oledb.lib |
oledbdep.h |
oledberr.h |
osptk.lib |
| Persist.h |
simpdata.h |
simpdata.tlb |
sql.h |
| Sqlext.h |
sqloledb.h |
sqltypes.h |
sqlucode.h |
Note The file msjetoledb.h is named "msjetodb.h" on the CD and in the Internet download. If you copy this file from the CD or your download extraction folder, you must rename it from "msjetodb.h" to "msjetoledb.h."
You won't need to rebuild the MFC DLLs when you install the MDAC 2.1 headers and libraries. However, if you do rebuild the DLLs, you must copy the MFC header file ocdb.h into the mfc\src directory before recompiling.
Installing different language versions of the service pack
Each time Setup is run, only those files matching the setup language are updated. If you have installed different Visual Studio 6.0 products in different languages, you must run the appropriate SetupSP3.exe for each product's language to install Service Pack 3.
- If you are installing from the Service Pack CD-ROM, the Setup for your operating system's language setting will be run automatically. If you have installed any Visual Studio products that do not match the language setting of your operating system, you must update those products manually. Refer to the directory path list in the Installation section to determine the location of the appropriate SetupSP3.exe for each product's language.
- If you have downloaded the service pack from the Internet and installed different Visual Studio products in different languages, you must also download the appropriate service pack for each product's language.
Determining the files that Setup installs
Setup might not install all the files included in this Service Pack on your computer. If you do not have a copy of the file on your computer or if the file on your computer is a more recent version than the one in the Service Pack, Setup will not update the file on your computer.
Setup might not update files, such as text files and non-binary files, that you have previously modified. Setup primarily determines which files to replace by checking the version information in a file's resources. However, some files, such as text files and non-binary files, have no resource information. In these cases, Setup uses the date/time stamp to determine which files must be replaced.
If the date/time stamp on any Visual Studio file that does not have version information is more recent than the file that shipped with Service Pack 3, then Setup might not replace those files. Source files, header files, and .ini files are examples of some files that might have a later date.
Determining the update history of products
To determine which updates have been made since the initial release of a product, you must examine the version number in the properties of one or more files.
To determine the update status of a product:
- Look in the file list at the end of this Readme file to determine which file you want to examine. In some cases, you might need to examine more than one file to fully determine the product's update history.
- For each file, right-click the file in Windows Explorer, and then choose Properties.
- Select the Versions tab and compare the version listed with the version in the table.
Uninstalling the Visual Studio 6.0 Service Pack
The Service Pack cannot be uninstalled independently of Visual Studio.
Known issues
Windows 95 Registry size limitation
A 64 KB limitation in the size of the SharedDLL key in the Windows 95 system registry might generate a warning during installation. This issue does not affect Windows 98, Windows NT, or Windows 2000 systems. To work around this issue:
- You can upgrade to Windows 98.
- You can uninstall programs you no longer use with Add/Remove Programs from the Control Panel. The registry keys used exclusively by those programs will then be deleted.
- You can save further on registry space used by programs you intend to keep by uninstalling and then reinstalling these programs to shorter installation paths.
- You can refer to the Knowledge Base article Q201546 for additional resolution options.
After taking one or more of these actions, run Visual Studio 6.0 Service Pack 3 Setup (SetupSP3.exe) again.
Installing Internet Explorer 5 on Windows 95
While installing Internet Explorer 5 on Windows 95, you might receive the following error: "A previous program installation was never completed. You need to restart your computer to complete that installation before running Internet Explorer Setup. Setup will now close." To work around this error, restart your computer, leaving the Service Pack 3 CD-ROM in the drive. You can then successfully install Internet Explorer 5.
Notes on Fixes
The Microsoft Visual Studio 6.0 Service Pack 3 includes all of the fixes in Service Packs 1 and 2.
Microsoft Visual Studio
Automation fix
The following run-time issue has been fixed with Service Pack 3 and was also fixed with Service Pack 1:
- Passing in an unallocated array for an out-only SAFEARRAY parameter to a late-bound method call will fail.
Data Tools update
The following Year 2000 issue has been addressed and updated in Visual Studio Service Pack 3.
- Oracle and Visual Studio Query Designer may interpret two-digit year dates differently Depending upon a system's regional date setting, Oracle and the Query Designer interpreted two-digit dates differently, which could result in data loss. This has been addressed and updated in Service Pack 3. In the Grid pane, the Query Designer now passes only four-digit dates to Oracle databases. In the SQL pane, the Query Designer passes the user input, either two-digit dates or four-digit dates.
Detecting a corrupted user settings file
Visual Studio now detects corrupted user settings files and removes the corrupted files from your machine. When this occurs, Visual Studio displays the following message: "Unexpected Error. Quitting." The next time you start Visual Studio, a new user settings file is automatically created.
Euro currency symbol support in Windows 95
For more information about euro currency symbol support in Microsoft operating systems or to download the Microsoft Windows 95 euro product update, see http://www.microsoft.com/windows/euro.asp. Microsoft Windows 98 and Windows NT 4.0 SP4 are already compatible with the euro currency symbol.
Internet Explorer-related fixes
Internet Explorer 5 and Visual Studio 6.0
Visual Studio 6.0 Service Pack 3 resolves issues you may have encountered when running Visual Studio 6.0 and Internet Explorer 5 on the same machine. If you have or intend to have Internet Explorer 5 and Visual Studio 6.0 on the same machine, upgrade to Visual Studio 6.0, Service Pack 3.
Internet Explorer versions and HTML editing
Selection works differently in the HTML editor for sited elements depending on which version of Internet Explorer you have installed. A sited element is any element that has a height or width, such as BUTTON.
With Internet Explorer 4.01, selection for sited elements works as follows:
- The first click on an element makes it possible for you to edit the text within the element.
- The second click on an element selects the element or places the cursor in the element.
- Double-clicking an element selects the text block within the element.
With Internet Explorer 5, selection for sited elements works as follows:
In addition, Internet Explorer 5 preserves white space better than Internet Explorer 4.01 when you switch between views in the editor.
Microsoft ActiveX Data Objects (ADO) documentation
The Microsoft® ActiveX® Data Objects documentation has been updated. See the ADO section under Visual Basic for further information.
Microsoft Repository fixes
The version of Microsoft® Repository included in Service Pack 3 includes major performance improvements to the Repository engine. It also fixes the following issues:
- Q223318, Q223319: Microsoft Repository running against an international Microsoft SQL 7.0 server would not handle dates formats other than mm/dd/yy.
- Q223320: When working with large sets of repository relationships, the Repository engine would return an error stating the object cache was full, instead of automatically flushing cached relationships to the database.
- Q223322: The Repository engine would return an error if a named relationship were renamed with a name that was more than 260 characters.
- Q223323: If a workspace contained more than 31 objects, the Workspace.Contents collection would only return the first 31.
- Q223326: The Repository engine would return an out-of-memory error if the client attempted to set a property of the type SQL_CHAR.
Known issue
In SQL 6.5-based repositories, Service Pack 3 prevents searching by date published in yy/mm/dd format. To search for a component in Visual Component Manager by date published, you must enter dates using four-digit years or in m/d/y format regardless of the date format setting of the SQL Server. Date searching against a SQL 7.0-based repository is not affected, and dates should be entered in the default format of the SQL Server.
Miscellaneous fixes
Unable to edit files in Design View in German Microsoft® FrontPage® 98
HTML files could not be edited in Design View in the German Microsoft FrontPage 98 which shipped with Visual Studio 6.0. This issue is corrected in Visual Studio 6.0 Service Pack 3.
Known issues
Record deletion causes loss of cursor position with ADO or Microsoft Access ODBC driver
If you are using the MDAC 2.1 or MDAC 2.1 SP1 Access ODBC driver directly or in combination with ADO and the OLE DB Provider for ODBC, a record deletion causes the loss of the cursor position. Because the cursor position is left in an unpredictable position, your application may not function as expected which may result in the loss of data. Complete details about this issue can be obtained from Knowledge Base article Q230131. A hot fix for this issue is available from the Microsoft Visual Studio Home Page. This issue will be addressed in a future service release of MDAC 2.1.
If you use MDAC_typ.exe to redistribute MDAC 2.1 or MDAC 2.1 SP1 with any application built with Visual Studio, you should also redistribute the hot fix. Any application deployed using the MDAC 2.1 Access ODBC or ADO technology should include the hot fix.
Because this issue is present in MDAC 2.1 and MDAC 2.1 SP1, it will be present on any system that has the retail version of Office 2000, Internet Explorer 5, or the version of MDAC 2.1 SP1 available as a Web download.
Microsoft Visual Basic
Microsoft® Agent 2.0
Microsoft Agent, which shipped with Visual Studio 6.0 and Visual Basic 6.0, has a new release on the Internet. You can download Agent 2.0 royalty-free from the Microsoft Agent Web site, where you will also find the updated Agent SDK, including documentation, HTML and code samples, and licensing information.
Installation information
Setup updates files that are not versioned, such as text files and nonbinary files, based on the date of the file. If you have previously modified one of these files and the date/time stamp is more recent than the date/time stamp on the file included with Service Pack 3, Setup will not update the file. One likely file in this category is vb6dep.ini. For additional information, see Determining the update history of products based on file versions.
Controls issues
The following Controls issues have been fixed:
- "Invalid Page Fault" occurred when using a RichTextBox control with Excel.
- Q192648: Adding a windowless transparent control to a Frame control caused the Frame to display incorrectly.
- Q193025: Visual Basic did not dynamically load unlicensed MFC controls at run time.
- Q195840: The DataGrid's RowColChange event did not occur if the new row being scrolled to was not visible before the row change occurred.
- Q198880: The MinDate and MaxDate properties of the DTPicker control could be set during run time, but only the last property set had any effect.
- Q221225: Loading the MaskedEdit control in Internet Explorer and setting the PARAM Name mask value to greater than 64 characters caused a buffer overrun error.
- Q223066: An "Invalid Page Fault" error occurred in Visual Basic if you had a MsgBox in a DataGrid control's SelChange event.
- Q223087: Some accelerator keys and text edit control keyboard shortcuts (such as SHIFT+CTRL+END) were ignored in UserControls that were hosted by Internet Explorer.
- Q223099: The DataMemberChanged event did not work correctly with UserControls.
- Q223062: The DataGrid control could not add a new record if that record's field values were set programmatically.
- Q223065: The Button argument always equaled 0 in the DataGrid control's MouseUp and MouseDown events.
- Q223072: Adding a non-null value to a Boolean DataFormat property of a TextBox control contained in a DataReport resulted in an application error.
- Q223078: When using MDAC 2.1 with a DataGrid control, the column sizes were lost, and the columns bunched up to the left side.
- Q223117: Customizing the Toolbar control (from common controls) caused the buttons to enlarge.
- Q223108: 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.
International product issues
The following international product issues have been fixed:
- Q216379: 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.
- Q223132: 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.
- Q223103: 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 ActiveX Data Objects (ADO) documentation
Updated Microsoft ActiveX Data Objects (ADO) documentation is installed with Visual Studio 6 Service Pack 3. All users may access the updated ADO 2.1 documentation (ado210.chm) from the Help folder in their Windows directory. Visual Basic users will have access to this documentation through context-sensitive (F1) help if they have installed Microsoft Data Access Components 2.1 and created a reference to the Microsoft 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.
- Click OK.
Context-sensitive help is available for all ADO 2.1 objects, collections, methods, and properties. Pressing F1 calls the standalone ADO 2.1 help, not the MSDN™ library.
For important information about a known issue with ADO, see Record deletion causes loss of cursor position with ADO or Microsoft Access ODBC driver.
Package and Deployment Wizard issues
The following Package and Deployment Wizard issues have been fixed:
- Q198052: When you ran the PDWizard and chose "Standard Setup Package," COMCT332.OCX showed up in the "Out of Date Dependencies" list.
- Q221604: 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.
- Q223090: 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 COM DLLs
The following Microsoft Visual Basic issue has been fixed with Service Pack 1 and is included with Service Pack 3:
- Q192653: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 the Web on setup, note that the following files have changed with this Service Pack:
msvbvm60.cab
vbrun60.cab
oleaut.cab
Miscellaneous issues
- "Error 429 - Can't Create Object" occurred when running an ActiveX Exe server on Windows NT 4.0.
- Q194912: 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.
- Q223088: 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.
- Q223074: In RDO, rs.Update would cause the system to not respond if the table was locked and you used an ODBC-side cursor.
- Q223060: Incorrect parameter values showed in the Local Variables window of the T-SQL Debugger.
- Q223092: 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."
- Q223105: Running RegSvr32 /u with msvbvm60.dll would fail.
- Q223100: Visual Basic did not recognize ActiveX DLL library functions in modules with its Instancing property set to Global Multiuse.
- Q223114: Printer.Scale in Visual Basic 6.0 was not fully compatible with earlier versions of Visual Basic.
- Q223118: The PSet statement was slow in Visual Basic 6.0.
- Q223120: 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.
Microsoft Knowledge Base articles for fixed bugs
Some Microsoft Knowledge Base articles refer to and describe workarounds for bugs that were fixed in Visual Basic Service Pack 3. For a complete list of these articles, see: http://support.microsoft.com/support/vbasic.
Microsoft Visual C++
The following is a summary of Visual C++ issues fixed with Service Pack 3, arranged according to issue category and service pack, and a list of known issues. See the listed Knowledge Base articles for more details.
Windows CE ToolKit and Visual Studio 6.0 Service Pack 3
Visual Studio Service Pack 3 overwrites certain Visual C++ 6.0 components that are modified when you install the Microsoft® Windows CE Toolkit for Visual C++ 6.0. This means you cannot run the Windows CE Toolkit for Visual C++ 6.0 with Service Pack 3 installed on your machine. Note also that Service Pack 3 does not include an uninstaller. If you install Service Pack 3 and then want to run the Windows CE Toolkit for Visual C++, you must remove Visual C++ 6.0 using the Visual C++ 6.0 uninstaller and then reinstall Visual C++ 6.0 and the Windows CE Toolkit for Visual C++. Future versions of the Windows CE Toolkit for Visual C++ will address this incompatibility with Visual Studio 6.0 Service Pack 3.
ATL issues
Installing Service Pack 3 on Windows 2000 Beta 3
For information about installing Visual Studio 6.0 Service Pack 3 on Windows 2000 Beta 3, see Installing Service Pack 3 on Windows 2000.
ATL fixes
The following ATL issues have been fixed:
- Q190531: Crashing when passing a NULL pointer to the (ATL-overridden) delete operator or free function.
- Q191626: CComVariant > and < operators cause LNK2001 errors.
- Q194180: Access violations when unregistering an ATL DLL or EXE built with a version of Visual C++ prior to 6.0 on a computer with the Visual C++ 6.0 Atl.dll installed.
- Q198019: Some ATL controls did not size properly.
- Q201318: Registering an ATL server with a long pathname failed.
- Q217182: Descriptions weren't added to registry when using the DECLARE_REGISTRY() macro.
- Q218829: CComEnumImpl<>::Skip() didn't handle overflow correctly.
- Q222613: "'m_mov' : undeclared identifier" Error With Alpha Project
- Q223165: GetIDsOfNames( ) Returns DISP_E_UNKNOWNNAME For Named Args
Compiler/Linker/Build issues
The following build issues have been fixed:
- Q187280: An incorrect version of Cvtres.exe, used by the linker to convert resource files into COFF format, caused some multiple-language resources to be unavailable to the application.
- Q192539: A friend << operator would not compile if defined outside the class.
- Q194615: Project Deletes Precompiled Header Created by Other Project.
- Q195376: When compiling with /Og and /Oa or /Og and /Ow, code might be incorrectly optimized due to ignoring the scale on an indirection. For example:
mov esi,dword ptr [ecx+edx*4]
mov ecx,dword ptr [ecx+edx]
was incorrectly optimized as follows:
mov esi,dword ptr [ecx+edx*4]
mov ecx,esi // error, because we were actually trying
// to load from a different address.
- Q199736: A compiler limitation prevented compiling code with more than 58 pairs of nested parentheses. With SP3, the compiler now supports up to 256 levels of nesting.
- Q205681: The use of the ++ operator in a return statement produced access violations when code was compiled with /Od.
- Q216181: In some cases, compiling with /Og generated incorrect code causing the stack frame to be copied before the stack contents were completely set up.
- Q216720: When optimizing for speed, the compiler generated incorrect code for a bitwise OR operation on a Boolean type, causing the compiled application to crash, corrupt data, or otherwise misbehave.
- Q216727: The compiler generated erroneous initializations for const int variables that were initialized with floating-point values.
- Q216715: Bad code generation or an internal compiler error when all of these conditions apply:
- Both the left and right hand sides of the colon in a ternary (? :) operator are of class type.
- The right side is convertible to the left side by way of a user-defined conversion operator.
- The left side has no constructor that accepts an object of the class specified on the right side.
- Q216716: The compiler sometimes did not create the relocation fixup for the address of the function if you declared and initialized a variable from a typedef of a pointer-to-function using a typedef for the function definition.
- Q216718: In some cases, compiling with /Zi and /Yc produced a C1001 internal compiler error.
- Q216722: Using a function pointer as a template class argument and then calling that function, as shown in the following example, produced compiler errors:
template < class T, int (*pfn)(T *)>
class NewClass
{
public:
int Test(T *pb)
{
return (*pfn)(pb);
}
};
int Bar( BOGUS *pb )
{
return pb->m_i;
}
void main (void)
{
BOGUS b;
b.m_i = 6;
Foo < BOGUS, &Bar > foo;
foo.Test(&b);
}
- Q216731: Code failed to call the destructor of an explicitly constructed anonymous temporary.
- Q216747: When optimizing code with /Og and /G6, Visual C++ sometimes moved an inc, add, sub, or lea instruction across an instruction that references memory. In some cases, such as the following example, Visual C++ 6.0 did not properly update the displacement:
inc eax
mov [eax + 2*eax + 3]
- Q216854: Projects continuing to use environment settings after removal of the /useenv option. The workaround required deleting a registry setting. With SP3, the IDE uses environment settings only when /useenv is set.
- Q217033: In rare cases, code compiled with /Og saved half of a double into memory and then loaded an FP register from it. Because half of the FP value was random data, an incorrect value resulted.
- Q195377: When building a VxD with /map, the linker lost the file handle to the map file, resulting in a linker tools error ("LNK1104: Cannot open file file.map").
- Q217171: The linker produced invalid images when building a VxD or driver with the /ZI (Edit and Continue) compiler option. /ZI injects special information into the image, which prevents a VxD or driver from loading. The linker has been changed to ignore the /ZI option when /VXD is specified. (This means you cannot use Edit and Continue when debugging a VxD or driver.) The linker also warns the user if it finds a section known to be invalid for a VxD.
- Q217168: The linker allowed the user to build an image with a specified stack or heap commit size larger than the specified reserve size. This invalid state prevented tools such as the debugger from loading the image. If you specify a stack or heap commit size larger than the reserve size, the linker now issues a fatal error message.
- Q217164: Bad code was generated when the result of an intrinsic was passed to a function that takes an int& argument.
- Q217755: #import ignored TKIND_MODULE members of a type library.
- Q218611: In some cases, compiling with /Og and /Ob1 generated an incorrect comparison when a loop induction variable was compared within the loop and the variable type in the comparison differed from the type in the rest of the loop.
- Q218613: In some cases, when using delay-load imports on the Alpha platform, the linker produced invalid fixups and silently produced a bad image.
- Visual C++ 6.0 did not support terminal-server aware applications. The SP3 release adds a new linker option, /tsaware[:no], for this purpose. The /tsaware option causes the linker to set the appropriate bit in the image optional header for a terminal-server aware application.
CRT issues
The following CRT issue has been fixed in Service Pack 3.
- Q214661: Daylight Savings Time Bug in C Run-Time Library
The following CRT issues have been fixed in previous service packs and are included in Service Pack 3.
Service Pack 1
- Q193509: In a multithreaded application, one thread calling setlocale while another thread was executing strftime could result in an access violation exception.
Service Pack 2
MSVCRT.DLL: In Service Pack 2, MSVCRT.DLL was modified to include the Visual C++ 5.0 heap in addition to the Visual C++ 6.0 heap for better compatibility. Visual C++ 6.0 applications will continue to use the Visual C++ 6.0 heap and pre-Visual C++ 6.0 applications will use the Visual C++ 5.0 heap.
The heap-compatibility problems described in the following two Knowledge Base articles have been fixed.
- Q190536: PRB: Invalid page fault in Msvcrt.dll.
- Q194550: PRB: Freeing memory multiple times may cause an access violation.
When installing, several of the CRT heap management files are overwritten by updated files that include the code for both the Visual C++ 6.0 heap and the Visual C++ 5.0 heap. If you need to rebuild the Visual C++ 6.0 static libraries, the Visual C++ 5.0 heap code will be included in your static library. It will not be used. The Visual C++ 5.0 heap was added to the SP2 release to prevent compatibility problems that can arise due to the problems listed earlier. If you do not want the Visual C++ 5.0 code to be included in your rebuilt static library, you should rebuild the library using the original code that was released with Visual C++ 6.0.
Updated Data Access Objects (DAO)
An updated version of DAO 3.6 is included in Visual Studio 6.0 Service Pack 3. DAO 3.6 ships with Office 2000, and the files provided in this service pack make it possible for you to develop for the updated version. DAO 3.6 can be installed along with DAO 3.5x. The SDK source files noted later in this document are not redistributable.
Upgrading to DAO 3.6 is recommended only for existing DAO applications that need access to Office 2000 format databases. For new projects, it is highly recommended you use ActiveX Data Objects (ADO) which is the successor to DAO as the Microsoft preferred data access programming model (built on the new OLE DB technology).
Changes in DAO 3.6
- Support for Unicode was added.
- Support for Jet 4.0 was added.
- RepairDatabase is no longer supported. This is to match Jet 4.0. If this functionality is needed, use CompactDatabase, which will also perform a repair.
DAO 3.6 files included with Visual Studio Service Pack 3
Included in this service pack are the following files:
To use or build projects with DAO from Visual C++, build the LIB files (see the following instructions). These files can be found on the Visual Studio Service Pack 3 CD in the \support directory or in your extraction folder if you downloaded the service pack from the Internet.
| DAO SDK Headers |
DAO SDK Source |
| _dbdao.h |
dbdaouid.cpp |
| dbdaoerr.h |
resource.h |
| dbdaoid.h |
version.rc |
| dbdaoint.h |
stdafx.h |
| version.usr |
dbdao.dsp |
| daogetrw.h |
Dbdao.dsw |
| VERSTAMP.H |
dbdao.mak |
| VERSION.H |
dbdao.rc |
| Dbdao.h |
Dbdao.cpp |
To build the DAO libraries
- Copy the DAO SDK Headers and Source files to a directory on a computer running Visual Studio.
- In Visual C++, open DBDAO.DSW.
- From the Build menu, choose Configurations, and select the type of library you want to use.
- From the Build menu, choose Build <dll name>. You can build multiple dlls at the same time by choosing Batch Build from the Build menu.
- Compile your DAO application as usual.
Distributing DAO 3.6
To distribute an application that accesses DAO 3.6 through the DAO SDK classes, install the appropriate DAO36x.DLL for your application.
Debugger issues
The following debugger issues have been fixed:
- Q198839: Possible failure of an asynchronous break on a multiprocessor computer when the breakpoint has been encountered more than once.
- Q217369: The debugger would crash, hang, or emit low resource warnings when remotely debugging a program with frequent calls to OutputDebugString.
- Q217437: The debugger would crash if two symbols in the debug information had the same hash value.
- Q218612: Remote debugging did not work on the Alpha platform.
IDE issues
The following Integrated Development Environment (IDE) issues have been fixed:
Microsoft Foundation Classes (MFC) issues
Installing Service Pack 3 on Windows 2000 Beta 3
For information about installing Visual Studio 6.0 Service Pack 3 on Windows 2000 Beta 3, see Installing Service Pack 3 on Windows 2000.
Using Access 2000 databases with MFC 6.0.
MFC 6.0 has the ability to use Microsoft® Access 2000 databases. To engage this support in your application, you must enable DAO 3.6 by:
MFC fixes
The following MFC issues have been fixed:
- Q190518: MFC AppWizard associated incorrect images with toolbar buttons for SDI applications that did not use the document/view architecture.
- Q193101: The socket thread state was not initialized in multithreaded, statically linked MFC applications. If one of the threads in an application called AfxSocketInit, further calls to the same function from other threads failed to set the socket thread state for that thread.
- Q194300: Asserts occurred when creating a dialog box in an MFC regular DLL.
- Q197448: Calling CString::Format on a string bound to an MFC ODBC field containing a double sometimes caused the memory to be reallocated, making the binding inconsistent for parameters and output columns.
- Q216850: MFC AppWizard applications with no document/view architecture, initial status bar, or docking toolbar would crash on an assert statement.
- Q217208: CMenu::GetMenuString did not properly handle strings over 256 bytes, resulting in possible corruption.
- Q217201: A bug in CControlBar::WindowProc caused an access violation when TOOLTIPTEXT.lpszText was the ID for a string resource or was unused. This happened when the identifier of a string resource was copied to the lpszText structure member, and the handle of the instance containing the resource was copied to the hinst structure member.
- Q217216: CDaoDatabase::CreateRelation called Release beyond the reference count, causing an assertion.
- Q225140: MFC applications could experience problems due to the failure of COleDateTime::operator= to properly account for dates after the year 1999. This problem is fixed by changes to MFC40.DLL and MFC40u.DLL. MFC applications that use these DLLs can use the fix without being recompiled. Only applications built with Visual C++ 4.0 or 4.1 require this updated DLL.
Service Pack 1
The following MFC issues were fixed in Service Pack 1 and are included in Service Pack 3:
- Q192942: ActiveX controls that resize themselves in response to being moved would cause a stack overflow.
- Q193099: CDialog::Create did not return FALSE when dialog creation failed.
- Q193102: Inappropriate assertions were raised in debug builds in some Automation routing situations involving nested activations.
- Q193100: Deserializing an ANSI string in a UNICODE release build of MFC caused an access violation.
- Q193272: MFC DLLs created with Visual C++ 6.0 did not call CPrintDlg::OnInitDialog, causing programs that depended on this initialization routine to fail.
Multilanguage issues
The following multilanguage and language coexistence issues have been fixed:
- A problem in Devshl.dll that prevented Microsoft® Visual Fortran users from doing command-line builds.
- Corruption of the string table causing inability to find strings for additional languages in a resource when an application calls from one programming language to another.
OLE DB Consumer issues
The following OLE DB Consumer issues have been fixed:
- Q191738: When using CArrayRowset, storing more than one page (4 KB) of data in the buffer or trying to get a nonexistent record caused an infinite loop. With SP3, storing more than 4 KB of data works properly, and trying to get a nonexistent record causes an access violation (as intended) which the user can catch.
- Q217218: OLE DB Templates used DBFILETIME instead of FILETIME.
- Q218929: UUID.LIB contained a bad definition for the IViewFilter interface. IViewFilter is an OLE DB 1.5 interface that is not used by the OLE DB Templates. However, this definition could cause problems for OLE DB consumers trying to use the interface directly.
- Q223180: FIX: DB_E_ERRORSOCCURRED From Jet Provider During OpenDataSource
OLE DB Provider issues
The following OLE DB Provider issues have been fixed:
- Q201387: CTABLESRow did not have a TABLE_PROPID column. This has been added, so OLE DB Templates providers will not fail when a consumer requests this column.
- Q217181: The PROVIDER_COLUMN_ENTRY macro set the DBID.eKind value to zero (DBKIND_GUID_NAME) instead of 2 (DBKIND_NAME). This could cause problems when an OLE DB Templates provider is used with SQL Server 7.0.
- Q217183: IDBPropertiesImpl::GetPropertyInfo did not return the correct values when the cPropertyIDSets parameter was zero. This could result in undefined consumer behavior, including weird error messages, crashes, or lock ups.
- Q217185: IRowsetImpl::GetData returned a nonzero value for the Length even if the data was null. GetData now correctly returns zero for Length if the data is null.
- Q217186: The OLE DB Templates did not set the CATALOG and SCHEMA columns for all schema rowsets to null, as required for OLE DB providers that do not implement theIDBInfo interface.
- Q217187: A failure in InternalCreateSchemaRowset caused an access violation.
- Q217188: To better conform to the OLE DB specification, the names of columns in the CCOLUMNSRow Provider Column Map have changed by the addition of an underscore. For example, TableCatalog has become TABLE_CATALOG. This prevents OLE DB Templates providers from failing when a consumer requests one of these columns.
- A consumer that queried for information about Initialization properties (information about userid, password, and so on) from the provider would receive incorrect information, leading to possible crashes or hanging.
Visual SourceSafe integration issues
The following Visual SourceSafe integration issues have been fixed:
- Q206665: The Get Latest Version command did not reload all projects that had been changed. If more than one workspace was open on a computer and the project settings were changed in each project on another computer, then the project settings were not updated for all projects. If more than two workspaces were changed, then not all were refreshed.
Known issues
This section describes current issues for the Visual C++ 6.0 SP3 release. For issues that have been fixed, see the sections preceding this one.
OLE DB/ODBC Issues
MFC EXE Appwizard fails to show the worksheets in an Excel spreadsheet when specifying an ODBC connection.
When specifying an Excel ODBC connection, the MFC EXE Appwizard shows an empty list and asks the user to select a table. To work around this issue, use an OLE DB Provider for ODBC drivers connection to the Excel spreadsheet instead.
MFC EXE Appwizard generated application fails to open recordset on an Access table through the OLE DB provider for ODBC drivers.
When an MFC EXE Appwizard-generated application that connects to an Access table through the OLE DB provider for ODBC drivers is executed, it displays a "Recordset failed to open" message. There is no current workaround for this problem. It will be fixed in a future release of the Microsoft Data Access Components (MDAC).
Microsoft OLE DB provider for SQL server fails to open a table without a primary key.
The Microsoft OLE DB provider for SQL server cannot open a table that does not have a primary key defined. To work around this issue, access the table using the Microsoft OLE DB provider for ODBC drivers and a SQL server ODBC driver.
Record deletion causes loss of cursor position with ADO or Microsoft Access ODBC driver
For important information about a known issue with the MDAC 2.1 ODBC driver, see Record deletion causes loss of cursor position with ADO or Microsoft Access ODBC driver.
Using MDAC 2.1 with Visual Studio SP3
Setup does not install the MDAC 2.1 library and header files. Visual Studio Service Pack 3 has been tested with the MDAC 2.0 headers and libraries against the MDAC 2.1 binaries. If you need to use specific MDAC 2.1 interfaces, you will need to install the headers and libraries manually. For information on installing the library and header files, see Installing Microsoft Data Access Components 2.1.
Windows 2000 issues
Debugger may crash on Windows 2000 Beta 3
A late-breaking issue may prevent the debugging of Visual C++ applications on Windows 2000 Beta 3. You can compile your applications. To restore debugging functionality, see the Microsoft Visual Studio Web site.
Debugger may not report exceptions correctly on Windows 2000
On some releases of Windows 2000, the debugger will not report certain types of exceptions correctly. For example, sometimes the debugger will let the exception pass through to the CRT, where an abort message will be reported. This Windows 2000 issue is expected to be fixed in a future release.
SDK headers and libraries for Internet Explorer 5 and Windows 2000 not included in Visual Studio Service Pack 3
Visual Studio Service Pack 3 does not include the latest SDK headers and libraries for Internet Explorer 5 or Windows 2000. The updated headers and libraries for Internet Explorer 5 are available from the Microsoft Web & Internet Samples Download Area. For future Windows 2000 SDK updates, see the MSDN SDK web page.
MFC AppWizard generates incorrect column map when using OLE DB ODBC provider and Access
If you generate an MFC database application using OLE DB and you use the OLE DB ODBC provider on an Access database, the AppWizard might generate a column map with incorrect ordinals in the Set.h file. The workaround is to reset the ordinals starting at 1. For example:
BEGIN_COLUMN_MAP(CMyTable)
COLUMN_ENTRY_TYPE(2, DBTYPE_I4, m_id)
COLUMN_ENTRY_TYPE(3, DBTYPE_STR, m_field1)
COLUMN_ENTRY_TYPE(4, DBTYPE_STR, m_field2)
END_COLUMN_MAP()
should be:
BEGIN_COLUMN_MAP(CMyTable)
COLUMN_ENTRY_TYPE(1, DBTYPE_I4, m_id)
COLUMN_ENTRY_TYPE(2, DBTYPE_STR, m_field1)
COLUMN_ENTRY_TYPE(3, DBTYPE_STR, m_field2)
END_COLUMN_MAP()
Microsoft Visual FoxPro
Overview
This service pack contains enhanced language features and bug fixes. For details on language and feature changes included in this update, see VFPSP3.CHM located in the Visual FoxPro 6.0 root directory. VFPSP3.CHM provides the details on the following Visual FoxPro 6 features:
- Servers The primary emphasis of Service Pack 3 is multithreaded server work. Three-tier applications use Visual FoxPro MTDLL servers in the middle tier. Ideally, you use these servers with IIS, ASPs, FoxISAPI, MTS, and MSMQ. You can also use the MTDLL server with dual and multi-processor machines if you have them available. You should review the "Language not Supported in MTDLL" section in the server additions file, VFPSP3.chm, to ensure your MTDLL servers do not include any of the affected language.
- Session class Creates a custom, user-defined object that manages its own data session.
- Run-time compiler support Ensures your existing applications work and function correctly as they did in Visual FoxPro 6.0. Rerun and recompile all your applications to make sure they behave properly.
- ActiveX Controls Several improvements were made to ActiveX control support to make it possible for the OleControl control to work with more types of ActiveX controls, such as the Microsoft® Hierarchical Flexgrid.
Enhanced and new language elements
This update to Visual FoxPro includes the following new and enhanced commands and features:
- AddLineFeeds property Formats edit box contents with carriage return-line feed characters.
- BUILD MTDLL Creates a multithreaded DLL.
- COMPILE command Adds run-time support.
- Session Class A custom, user-defined class that manages its own data session.
- StartMode property of _VFP Indicates how an instance of Visual FoxPro was started.
- ThreadID property _VFP Returns the Win32 ID of the thread on which the object was called.
- ProcessID property _VFP Returns the unique identifier of the current process.
Class Browser issues
The following Class Browser issues have been addressed in Service Pack 3.
- Q189709: Class Browser Code Does Not Show Correct Visibility
- Q191875: Multiple Open Class Browsers Cause Error Message
- Q195620: Check for Component Gallery/Class Browser Version
- Q221708: Class Browser Open File History List Truncates File Names
- Q221715: Class Browser HTML Export Code Gives Invalid HTML 3.2 Code
- Q222112: Class Not Selected Opening Class Browser From Form Designer
- Add timestamp to export class
- Class Browser Fails to Open New Window With Multiple Files Browser
- ParentClass edit button doesn't persist after closing Class Browser
- ParentClass edit button doesn't properly show class hierarchy tree of parent classes
- ParentClass edit button should be closable and sizable
- Redefine dialog doesn't properly include all available classes in drop-down list
- Rename and redefine buttons are not properly enabled and run when property or method is selected
- Selecting item from history list doesn't select proper control after refresh
- Shift+F10 for shortcut menu broken for class list treeview control
- Show parameters of method and property values using tooltip of member description
- Using listbox (non ActiveX) mode, hidden and protected methods cause errors
Component Gallery issues
The following Component Gallery issues have been addressed in Service Pack 3.
- Q185627: Right-Click of Empty Component Gallery Causes Error
- Q190774: Keyboard Can Cause Component Gallery to Close
- Q190821: Component Gallery Dynamic Folder Gives Fatal Exception
- Q195625: Set Component Gallery Dynamic Folder to HTMLHelp Fails
- Q195627: Right-Clicking Item in Find Results View Fails in Gallery
- Q195628: Visual FoxPro Will Not Shutdown With Multiple Component Galleries
- Q195629: Cannot Add Items to Catalogs Not in VFP 98 Directory
- Q195633: Save Dynamic View Causes Subscript Outside Defined Range
- Q221631: Component Gallery Find/Cancel Leaves "Unknown" DataSession
- Q221644: Can Drag Folder in Installed Controls In Component Gallery
- Q221667: Class items save in different classlib will not add to the project automatically
- Q221668: Component Gallery Places Focus in linked item Folder after Delete
- Q221703: Component Gallery Doesn't Refresh Web View After Item Props
- Q221709: Component Gallery Refresh Button For Web View Doesn't Work
- Q221710: Component Gallery Dynamic Folder For Web View Won't Refresh
- Q221716: Component Gallery Not Refreshing Dynamic Web View
- Creating duplicate view names should not be allowed
- Extra refreshing of folder occurs when properties dialog box changed and gallery refreshed
- Folder item selection should not be hidden when item in right pane is selected
- Problems with instances persisting font and position information
- Shift+F10 for shortcut menu broken folder and item list controls
- Shortcut menus cancelled with mouse over ActiveX control cause refresh problem
- Should not be able to remove vpfglry.dbf catalog from view
- Views are not sorted if more than one subfolder for the view exists
- Web View forward button is not enabled after navigating back a Web page
- When using a custom folder picture, folder item in right pane doesn't match
FoxPro Foundation Classes issues
The following FoxPro Foundation Classes (FFC) issues have been addressed in Service Pack 3.
- Q186912: Error Using Trimcrlf Method of _stringlib Class
- Q195626: Save As HTML Not Working Correctly with Double Data Types
- Q197275: _urlcombobox Class Closes Any Current Work Area
- Q221620: _GraphByRecord in _utility.vcx Should Show Name
- Q221628: Using Genhtml.prg In Distributed Apps Difficult
- Q221636: _therm.vcx Classes Have Color Problems With Bars
- Q221663: registry.vcx foxreg.EnumOptions Contains Recursion
- Q221704: _URLComboBox in _internet.vcx Has Trouble w/ URLs
- Q221705: _URLComboBox in _internet.vcx Large Dropdown Issue
- Q221711: Problem with Element Tag With _XMLTag in _html.vcx
- Q221712: _XMLTag/_StyleTag in _html.vcx Use Wrong Extension
- Q221713: Possible Run-time Error with _EvalText in _html.vcx
- Q221714: _Hyperlink Classes Builder Doesn't Allow Long URL
- Q221748: Genhtml.prg Fails With SET COVERAGE TO
- Q222111: _WebBrowser3 and 4 in _webview.vcx Give Ref. Error
- genhtml.prg error when GenHTML.prg does not exist
- _menu.vcx ActiveX control not firing events properly when class used to display menu
- RunCode.prg/_RunCode::Environ.vcx Embedding EXIT within DO/ENDDO causes endless loop
- RunCode.prg/_RunCode::Environ.vcx Embedding IF/ENDIF within DO/ENDDO doesn't work
- RunCode.prg/_RunCode::Environ.vcx FOR STEP with negative step doesn't work
Product issues
Visual FoxPro 6 SP3 provides resolution to the following product issues:
- Q165905: Activate Event of Page Not Triggered with Keyboard in VFP
- Q183522: Divide by Zero Creates Err with Third-Party Print Drivers
- Q185263: Keyboard "{PAUSE KEY}" Command Hangs Visual FoxPro
- Q191172: Performance Degradation with Repeated SQL SELECTs
- Q193254: Class ResetToDefault Method Causes Fatal Exception Error
- Q193294: PRTINFO() Function Causes Fatal Error on Windows 98
- Q193472: C0000005 Fatal Error Exiting Top-Level Form App in Win 95
- Q193628: APPEND FROM with Certain File Types Crashes VFP
- Q193724: Memory Leak Passing Arrays from VBScript to VFP
- Q193940: Wingdings/Webdings/FoxPrint Not Printing from Windows 98
- Q194612: AlwaysOnTop Property Always Returns .F. For TopLevel Forms
- Q194698: ScaleMode of Foxels Interferes with ColumnWidth Property
- Q195273: C0000005 Fatal Error When Removing Form From a Formset
- Q195623: Index Corruption When Table is Used in Read-Only Mode
- Q197510: Poor Performance with Forms Containing Many Objects
- Q199006: C0000005 Fatal Error Issuing PACK <tablename>
- Q214560: Installing Newer MSDN Causes Help to Malfunction
- Q216587: Previewing Report Writer Causes Memory Leak
- Q221613: Clicking Page Tab Executes Container Click Event
- Q221617: C0000005 Fatal Error After Frequent Use of CHRTRAN()
- Q221621: C0000005 Fatal Error In Editor Selecting Text Then Up Arrow
- Q221622: Hang When Resizing a ToolBar With ASELOBJ at Design Time
- Q221624: Extra EOF Char Inserted With SELECT Within Transaction
- Q221626: Debug/Fix In Form Shows Form Controls Toolbar in Debugger
- Q221629: "Unknown COM status code" With ActiveX Conferencing Control
- Q221633: Visual FoxPro Hangs After Rebuilding an Application.
- Q221634: C0000005 Error With CLOSE ALL in Project Hook BeforeBuild
- Q221639: Empty Memo Shows Trash Data With Trace Window Mouse Over
- Q221640: C0000005 Fatal Error Importing Chinese Excel 97 worksheet
- Q221642: Memory Leak With SET SYSMENU TO DEFAULT
- Q221643: Shortcut Menus Limited by Form Size, Have Up/Down Arrows
- Q221645: _SCREEN.Forms[ ] Collection not Available at Design Time
- Q221646: ERR files Contain Carriage Return and no Linefeed
- Q221649: Form Displays Katakana, Hiragana and Hanzi Characters Wrong
- Q221650: Error 11 (Function argument invalid) w/ SQL SELECT 'LIKE'
- Q221652: Filter Ignored With REPORT FORM...NOWAIT and DE Table
- Q221653: APPEND FROM TYPE CSV does not Include Extension by Default
- Q221657: C0000005 Error With Specific Access Methods and Debugger
- Q221662: Error calling FPOLE With Single Quote (') in Caption
- Q221664: C0000005 Fatal Error Doing USE on ADO Recordset Twice
- Q221665: C0000005 Fatal Error With Invalid Form Include File Syntax
- Q221669: Return of COM Server Objref Causes Server To Not Release
- Q221670: Multiselect Fails In Class Designer for Objects On Page
- Q221671: OLE Error "Member not found" using MSMQ
- Q221673: Hangul Input In ControlSource Not Supported In Korean VFP
- Q221674: Import Wizard Fails With Excel 97 file with Chinese chars
- Q221679: Servers Do Not Release If Init Returns .F.
- Q221680: C0000005 Fatal Error with TRANSFORM() On Long Strings
- Q221681: Locals Window Not Refreshed With SUSP or SET STEP ON
- Q221682: Expanding/Collapsing Big Array in Watch/Locals Windows Slow
- Q221685: NODEFAULT in Activate of Page can cause Fatal Error
- Q221686: Hang When Arrowing Through Disabled Item in Combo
- Q221687: C0000005 Fatal Error with CLEAR DEBUGGER and SUSPEND
- Q221688: _VFP.Eval() Only Accepts Strings of 255 Characters or Less
- Q221690: C0000005 Error with Repeated SQL SELECTs Using BETWEEN( )
- Q221692: Project Object Modify Method Fails If Path Contains Spaces
- Q221693: This.Caption=This.Text Causes Fatal Exception Error
- Q221696: C00000FD Fatal Error Docking Toolbar In Rare Circumstance
- Q221698: Project Manager Not Refreshed Correctly After Build
- Q221700: CommandTargetExec Ignores Return Value
- Q221701: MouseUp Event Does Not fired on Contained Objects
- Q221702: C0000005 Fatal Error w/ ISBLANK( ) and Array Prop in Init
- Q221707: Trace Breaks Too Often With Breakpoint on SET("NULL")
- Q221718: C0000005 Fatal Error Saving FormSet After Add Cancel In DE
- Q221719: Polish Collate Sequence not Available In Options Data Tab
- Q221720: COM Servers Cannot Redimension Arrays Passed By Reference
- Q221721: Mismatched pushjmp/popjmp With DataToClip( ) On Big Table
- Q221722: C0000005 Fatal Error Using DIRECTORY("\\\dirname")
- Q221723: Container Click Not Fired When Clicking Disabled Control
- Q221725: DATE() Function Does Not Propagate NULLs Properly
- Q221726: C0000005 Fatal Error Creating Index Tag
- Q221727: FOXUSER Stores Wrong Form Window State If MDI State Changed
- Q221728: C0000005 Fatal Error With MODIFY WINDOW SCREEN in EXE
- Q221730: Enabled_Assign Fires Incorrectly For Container In Container
- Q221731: Copy/Paste Allowed With Password Character
- Q221732: Multiple Opens of Memo File May Cause Corruption
- Q221733: C0000005 Fatal Error With French Wizstyle Baseform Class
- Q221734: C0000005 Fatal Error With Invalid Property Name
- Q221735: Reference to ActiveForm Doesn't Allow Access to All Props
- Q221736: WriteExpression Fails With Unknown error code -5
- Q221737: C0000005 Fatal Error With SET('RELATION') Function
- Q221738: Memory Leak With SET SYSMENU OFF
- Q221739: Error Using Form Property > 255 Characters As Parameter
- Q221740: Form Object Is Not Released After Using PEMSTATUS()
- Q221741: C0000005 Fatal Error With Unknown Var in Include File
- Q221742: C0000005 Fatal Error With Big Array Property
- Q221743: NVL() Releases Object Ref and Causes Fatal Error C0000005
- Q221744: C0000005 Fatal Error During Build w/ Invalid Preprocessors
- Q221747: C0000005 Fatal Error Passing FGETS() a String > 256 chars
- Q221749: Top Level Forms With Menus Allow Access To Datasession 0
- Q222136: C0000005 Fatal Error Typing Characters In Find Dialog
- Q224988: CREATE FROM Command Incorrectly Assumes .dbf Extension
- Q224989: "Not Enough Memory" Error With SQLCOLUMNS() and SQL Server
- Q229020: @GET Displays Incorrect Year in Date With SET CENTURY OFF
Wizards issues
The following Wizards issues have been addressed in Service Pack 3.
Application Wizard
- Q221656: Difficult To Add Records To Form in Application Wizard App
Form Wizard
- Q221615: Form Wizard Error # 11 in AddDetail With Long Table Name
- Q221618: Form Wizard Error Sorting By 2 Fields With DBCS Names
- Q221637: Form Wizard Error With Maximum Design Area Set To (None)
- Q221641: Form Wizard Error w/ Scrolling Grid Style and Remote Views
Label Wizard
- Q221638: Label Wizard Requests Definitions Not Installed By Setup
Remote View Wizard
- Q221614: Remote View Wizard Gives Error with Spaces in Table Name
Report Wizard
- Q221616: Report Wizard Error # 11 in Getpicture With Long Table Name
RI Builder
- Q221648: RI Code Not Selecting Right Work Area After Cascaded Delete
Setup Wizard
- Q193470: Setup Error 827 Installing Multiple OCX Files
- Q193696: Set Mark To '.' Causes Invalid Distribution Disks
- Q193751: Do Not Use Commas in Step 4 of Setup Wizard Dialog Box
- Q194195: Setup Wizard Cannot Differentiate Files with Same Name
- Q194196: No Help File with Distributed App
- Q194197: Application Setup Fails on Some Computers
- Q194198: Setup Wizard Does Not Print All Reports
- Q194199: Not All Setup Wizard Options are Saved in Wzsetup.ini
- Q196236: Error Generating Cab Files Error Code 3
- Q197941: Setup Wizard Cannot Register Foxhhelpps.dll File
SQL Upsizing Wizard
- Q221659: SQL Upsizing Wizard May Fail To Create PK Indexes
- Q221666: SQL Upsizing Wizard Save Generated SQL Bloats Script.fpt
- Q221676: SQL Upsizing Wizard Gives "Error #1234 in remotizeviews"
- Q221677: SQL Upsizing Wizard Problem if Upsized View Has == Filter
- Q221750: Upsizing to SQL 7.0 with Currency Type Fails
Visual FoxPro Application Framework
- Q221651: Error Log Dialog Cuts Off Vertical Scroll Bar
- Q221655: Set Filter Dialog Does Not Show Current Filters
Web Publishing Wizard
- Q221632: Web Publishing Wizard Gives RunCode Run-time Error
Xbase Tools issues
The following Xbase Tools issues have been addressed in Service Pack 3.
Converter
- Q195514: Error Loading File when Converting a 2.6 Form in Visual FoxPro 6.0
- Q221675: Problem Converting FP2.6 Screens With Large Labels & @SAYs
- Q228867: Converting 2.6 Label Causes Report File is Invalid Error
Coverage Profiler
- Q221623: Coverage Profiler Marks Unexecuted Lines in "IF...ENDIF"
- Q221672: Coverage Profiler Does Not Accept Long Coverage File Names
Known issues
FGETS function update
A minor behavior change was necessary for the FGETS() function related to Knowledge Base article Q221747 (C0000005 Fatal Error Passing FGETS() a String >256 chars). The optional nBytes parameter now has a maximum value of 8192. By definition, FGETS() will only return bytes up to a carriage return if one is encountered before the parameter value is reached.
Gridbtns class
A problem exists in the GridBtns class of Wizards\Wizbtns.vcx which prevents data from being saved on certain data input forms. If you drop this class (also referenced in the Component Gallery as Simple Edit Buttons) onto a data input form, edits to records will not be saved. This class is also used by the Form Wizard with the Scrolling Grid style, however, the problem does not exist with these generated forms.
To work around this problem:
- Replace contents of CheckError method with following:
#DEFINE ERR_UNIQUEKEY3_LOC "A unique key error violation has occurred. That record will be reverted."
#DEFINE ERR_RVIEWUPDATE_LOC "A problem occurred updating the remote data. That record will be reverted."
AERROR(aGetErrors)
IF aGetErrors[1] = 1884
* Uniqueness ID error
MESSAGEBOX(ERR_UNIQUEKEY3_LOC)
TABLEREVERT(.T.)
RETURN
ENDIF
IF CursorGetProp("sourcetype",.ALIAS)=2
* If failed to update, check for remote view and revert
MESSAGEBOX(ERR_RVIEWUPDATE_LOC)
TABLEREVERT(.T.,.ALIAS)
RETURN
ENDIF
- Replace the following section of code in the Destroy method:
IF USED(.ALIAS) AND ATC("CURSOR",.BaseClass)#0 AND ;
CursorGetProp("sourcetype",.ALIAS)=3 AND ;
CursorGetProp("buffering",.ALIAS)>1
TableRevert(.T.,.ALIAS)
* If your form has General fields, there is a possibility
With the following:
IF USED(.ALIAS) AND ATC("CURSOR",.BaseClass)#0 AND ;
CursorGetProp("buffering",.ALIAS)>1
IF !TableUpdate(.T.,.T.,.ALIAS) && update on exit
THIS.CheckError()
ENDIF
* If your form has General fields, there is a possibility
Toolbar preferences
After installing Visual Studio Service Pack 3, you must update the system toolbar preferences stored in the resource file, Foxuser.DBF. For example, if you have a distributed application that ships a Foxuser file containing a Print Preview toolbar preference that hides the Print button, you need to re-create this preference for the Foxuser file being used by the application.
Microsoft Visual InterDev
Installation information
Connecting to a SQL Server
If you will be using MDAC 2.1 to connect to a SQL Server, you must run the version of instcat.sql installed with MDAC 2.1 SP1 which can be found in your system directory.
To run instcat.sql:
- From the Start button, choose Programs, Microsoft SQL Server, and then run ISQL_w.
- When prompted, connect to the SQL Server server that you want to update.
- From the File menu, choose Open. From your system directory, select instcat.sql.
- From the Query menu, choose Execute.
Internet Explorer 5
Installing Internet Explorer 5 is strongly advised. Using Internet Explorer 5 with Visual InterDev 6.0 provides enhanced HTML editing and other benefits. Internet Explorer 5 is provided on the Visual Studio 6.0 Service Pack 3 CD in the IE5 folder under your language folder. It is also available from the Microsoft Windows Technologies Internet Explorer Home Page.
"NT SP4 not tested" message
During the Visual InterDev 6.0 installation, if you are installing the NT Option Pack onto Windows NT 4.0 with Service Pack 4, you might see the message "We haven't tested this on NT SP4, do you want to continue?" You should reply "Yes" to this message.
Working with Windows NT 4.0 Service Pack 4
Since Visual InterDev 6.0 was released, Service Pack 4 has become available for Windows NT. It is recommended you install Service Pack 4 on your Windows NT Server computer. Windows NT 4.0 Service Pack 4 is available from the Microsoft Windows Update page.
The availability of Windows NT Service Pack 4 requires slight changes to the installation instructions published in the Visual InterDev 6.0 Readme file (ReadmeVI.HTM). In general:
- You should install Windows NT Service Pack 4 after installing the server components for Visual InterDev 6.0. Service Pack 4 includes fixes for components such as Microsoft® Internet Information Services (IIS), but the fixes are installed only if IIS and other server components are already installed on the computer.
- The ASP hot fix (ASP2FIX1.EXE), which fixes problems with debugging and with updating the Global.asa file, is included in Windows NT Service Pack 4. You do not need to install the ASP hot fix separately.
Corrections to the Visual InterDev 6.0 Readme installation instructions (ReadmeVI.HTM)
Because Windows NT 4.0 Service Pack 4 is now available, the following installation instructions replace the corresponding instructions in the Visual InterDev 6.0 Readme file (ReadmeVI.HTM).
Client installation: If you are installing on Windows NT
The following components are required for the PageNavbar design-time control, remote debugging, and previewing active server pages on your local machine. You may choose not to select these components if you do not want to take advantage of these features.
- Select Launch BackOffice Installation Wizard, and click Install.
- The BackOffice Installation Wizard will prompt you to select a Custom or Visual InterDev Developer option. Select Custom, and click Next.
- Verify the disk space requirements, and click Next.
- Select Front Page Server Extensions and MS Data Access Components from the top level of the components list.
- Expand the Windows NT Option Pack node, and select:
Internet Information Server - for NT Server
Microsoft Management Console
NT Option Pack Common Files
Personal Web Server (PWS) - for NT Workstation
Transaction Server
Data Access components (for example, Data Access 1.5)
- Clear the remaining components. As you clear the other components, the wizard might display a message that warns you of various dependencies. You can choose Yes to ignore the dependencies, because you are using this computer as a client for Visual InterDev and not as a server.
- Continue with the remaining steps of the wizard.
Server installation for Windows NT
Perform the following steps if you are installing the server on Windows NT.
- When prompted by the wizard, select Launch BackOffice Installation Wizard, and click Install.
- The BackOffice Installation Wizard will prompt you to select the Custom or Visual InterDev Developer option. Select the Custom option, and click Next.
- Select the following options:
Windows NT Option Pack 4.0
MS Data Access Components
Remote Machine Debugging
FrontPage Server Extensions
Visual InterDev Server
- Before you click Next, expand the Windows NT Option Pack 4.0 node. In addition to the options selected by default, select the Visual InterDev RAD Remote Deployment Support node. Then expand the Visual InterDev RAD Remote Deployment Support node, and select the second instance of Visual InterDev RAD Remote Deployment Support. Make sure Visual InterDev RAD Remote Deployment Support is selected at both levels.
- Click Next, and continue with the remaining steps of the BackOffice Installation Wizard.
- Install Windows NT 4.0 Service Pack 4. If you installed Service Pack 4 previously, you should reinstall it to update the server components you installed in Steps 1 through 5.
Changes to Data Connections
Data connections can now be established using OLE DB data source providers, which offers greater flexibility in data sources and more efficient connections. For data sources that do not yet support OLE DB providers, you can continue to use ODBC-based connections.
For more details, see the topic "Connecting to a Database" in the Visual InterDev 6 SP3 documentation.
Changes to the HTML Editor
New glyphs
The glyphs used to mark non-visual elements differ depending on whether the editor is being used with Microsoft Internet Explorer 4.0 or Internet Explorer 5. The glyphs used with Internet Explorer 4 are described in the documentation that accompanies Visual InterDev. The following table lists the glyphs the editor can display if Internet Explorer 5 is installed on the computer.
| Glyph |
Represents |
 |
HTML comment (<!-- through -->) |
 |
Line break (<BR> tag) |
 |
Beginning of division (<DIV> tag) |
 |
End of division (</DIV> tag) |
 |
Beginning of form (<FORM> tag) |
 |
End of form (<FORM> tag) |
 |
Beginning of paragraph (<P> tag) |
 |
End of paragraph (</P> tag) |
 |
Beginning of span (<SPAN> tag) |
 |
End of span (</SPAN> tag) |
 |
Style element (<STYLE>) |
 |
Script in the <BODY> portion of the document. This can include client script block (<SCRIPT>) and inline server script block in .asp files (<% %>, or <SCRIPT RUNAT="Server">). |
 |
Anchor point for absolutely positioned elements and for image elements that are aligned left or right (for example, <IMG ALIGN=RIGHT>). The glyph appears where the HTML tag defining the element is located in the HTML document. |
 |
Unrecognized HTML tags and unmatched ending tags |
Improved white space preservation
If you are using Internet Explorer 5, Visual InterDev can do a better job of preserving the exact layout of an HTML file when filtering elements that require special handling, such as scripts and design-time controls (DTCs).
See also Exceptions to white space preservation later in this document.
Debugging ASP script objects
A new debugging feature has been added to the scripting object model that allows you to catch errors that occur in lower-level components (such as during database access), trace events, and display warnings when script objects encounter possible errors. For more information about debugging and the scripting object model, see the topic "Debugging Script Objects in ASP Pages" in the documentation that accompanies Visual InterDev 6 SP3 and KnowledgeBase article Q224955.
Enabling ASP script object debugging
The documentation for ASP script object debugging incorrectly says that the following script block is automatically added to an .asp page when you first create the page.
<SCRIPT id=DebugDirectives runat=server language=javascript>
// Set these to true to enable debugging or tracing
@set @debug=false
@set @trace=false
</SCRIPT>
This is incorrect. The script block is not added to the page until you enable the scripting object model for that page.
Adding debugging to existing applications
The new script object debugging features are automatically available when you create new webs in Visual InterDev 6. However, they are not automatically added to your existing applications. To take advantage of the debugging features, you must update the script libraries in your applications (projects) and update individual .asp pages, as described in the following procedures.
To update script libraries in an existing application
- In Visual InterDev, open the project you want to update.
- In the Project Explorer, open the project so you can see the _ScriptLibrary node.
- Right-click the _ScriptLibrary node, choose Add, and then choose Add Item.
- In the Add Item dialog box, choose the Existing tab. Use the Look in box to navigate to the master script library on your computer, which is usually in the following folder:
\Program Files\Microsoft Visual Studio\VIntDev98\ScriptLibrary
- Select all the files in the folder, and then choose Open.
- When prompted, confirm that you want to overwrite the existing files in your project's copy of the script library.
- Repeat this procedure for all projects in which you want to use ASP script object debugging.
After updating the script libraries, you can add debugging to individual .asp pages.
To add script object debugging to an individual .asp page
- Open the .asp page and add the following block immediately following the
<% @Language= %> block at the top of the page:
<SCRIPT id=DebugDirectives runat=server language=javascript>
// Set these to true to enable debugging or tracing
@set @debug=false
@set @trace=false
</SCRIPT>
- Set the debugging options you want. For details, see the topic "Debugging Script Objects in ASP Pages" in the documentation.
Localized error messages for the Script Library
If an error occurs inside the script library when you are using Visual InterDev design-time controls, the resulting error message is displayed in English, along with an error number. You may look up the translated error text by error number. Translated versions of these error messages are available in SLErrors.htm on the Service Pack 3 CD under the appropriate language subdirectory in the \support folder. If you downloaded the service pack, SLErrors.htm is located in the folder in which you extracted the files.
Other fixes
The following problems have also been fixed in Visual Studio 6.0 Service Pack 3. The "Q" number that precedes most fixes indicates the ID of a Knowledge Base article that provides further details about the problem and the fix.
- Q190753: Page Not Refreshed When Pointing to a Deleted Record
- Q190939: Editing ASP Pages Using FrontPage 98 Causes Problems
- Q191560: Contacting Web Server to Open Web Project Never Times Out
- Q224936: GPF When Switching to Source View in Visual InterDev 6.0
- Q224958: Wrong HTML Editor Picked in Internet Explorer 5
- Q224944: Text Fails to Keep Styles When Pasted into Tables
- Q224947: Text in DIV Leaves DIV Tag When Justified
- Q224941: Memory Problems With Many DTCs on 64 Meg Win9x Clients
- Q224950: Changing From Bulleted List Styles Back to Normal
- Q224953: Visual InterDev Crashes When Re-Aligning Elements Inside a FIELDSET
- Q224956: HTML Selection Losing Focus Causes Visual InterDev to Crash
- Q224945: Visual InterDev Stops Responding When Accessing SP Under Source Control
- Q224946: Color Name Not Returned as Expected After Changing Tabs
- Q224948: Template Page Wizard Problems in Localized Versions of VI
- Q224949: Data Tools Timeout Values Have No Effect in Visual InterDev 6.0
- Q224951: ASP From File-New Removed to Prevent Problems
- Q224952: GPF in Table Design Window Menu
- Q224954: Next Connection Not Displayed in Data View
- Q224935: Cannot Execute Action Queries in Data View With Access
- Q224957: Cannot Debug HTC (Internet Explorer 5 Script Behaviors) With Visual InterDev 6.0
- Q224937: HTA App (Internet Explorer 5 Behaviors) Debugging Shuts Down Internet Explorer 5
- Q224938: Access Violation in Internet Explorer Due to Visual InterDev Script Debugger
- Q224939: Wrong List of Object Names for Access OLEDB Connections
- Q224942: GPF With thisPage.navigate.Show() in Visual InterDev 6.0
- Q224934: DISPLAY Function Enhanced for Visual InterDev 6.0
- Q224940: Windows NT 4 Client to Windows Server 2000 Debugging Issues
- IDE crashes when doing a Save As of a utility project.
- Opening ASP Page w/ ActiveX Control Crashes Visual InterDev 6.0
Known issues
Exceptions to white space preservation in HTML editor
When you load a document into the HTML editor or switch between Design view and Source view, the editor attempts to preserve the format of the document as closely as possible. However, this is not always possible. If you are using Internet Explorer 5, the following changes might be made to the document:
- <PARAM> elements within an <OBJECT> element might be modified. Modifications might include the reorganization of tags, such as breaking a single <PARAM> element into multiple ones or consolidation of separate <PARAM> tags. <PARAM> tags might also be added that explicitly specify default values. The exact modifications to <PARAM> tags depend on the object referenced in the <OBJECT> element. If multiple <PARAM> tags have the same name, duplicates will be removed.
- Matched tags that are in different cases are converted to the case of the first letter of the opening tag. For example, <sTRONG>My Page</STRONG> is converted to <strong>My Page</strong>.
- Formatting of content inside inline style attributes (STYLE="") is not retained, and style attributes might be reordered. Specific changes include:
- Style names are converted to all uppercase. Style attributes are converted to all lowercase. For example, Background-Color=#FF01EA becomes BACKGROUND-COLOR=#ff01ea.
- Composite style attributes might be replaced with individual style attributes. For example, the BORDER style attribute might be replaced with BORDER-LEFT, BORDER-TOP, BORDER-RIGHT, and BORDER-BOTTOM.
- Attributes explicitly assigned empty strings might be removed. For example, the attribute VALUE="" in an <INPUT> tag might be removed.
- Tags might be inserted to complete or correct the structure of the document. For example, the DHTML Editing Component might add missing <TR> tags around <TD> tags.
- Documents containing the following cannot be loaded:
Individual themes deleted during recalculation
When using source control to obtain files that belong to a theme, always perform a Check Out or Get Local on all files in the theme. You can do this by selecting a theme folder before getting the files. Otherwise, if part of a theme is local and the remainder is on the server, you might encounter problems. Recalculating links or switching from local to master mode might cause the theme to be deleted from your project. Likewise, check all files back in at the same time.
RDS objects on page cause "failed to load" message
If a page contains an <OBJECT> tag that references an RDS component, when you switch to Source view in the HTML editor, you will see the message:
Some objects have failed to load. The objects will be displayed as text.
This occurs because the RDS objects do not have a visual representation, so Source view cannot render them. However, the objects will function correctly.
Microsoft Visual J++
Installation information
Some features of Visual J++ 6.0 relating to debugging Microsoft Transaction Server (MTS) require Windows NT 4.0 Service Pack 4 (SP4). Windows NT 4.0 SP4 is available from the Microsoft Windows Update page.
Visual J++ applications cannot be debugged on Windows 2000 Beta 3
A late-breaking issue may prevent the debugging of Visual J++ applications on Windows 2000 Beta 3. You can compile your applications. To restore debugging functionality, see the Microsoft Visual Studio Web site.
New Microsoft Virtual Machine
In response to the automation issues noted in Automation, the Microsoft® virtual machine files have been updated, beginning with Service Pack 2. The Microsoft virtual machine version included in this service pack is listed in the Visual J++ section of the file list below. This change will be applied both on the machine where Microsoft Visual J++ is installed and also to the Visual J++ redistributable folder, so Visual J++ applications that are distributed will also include the updated Automation files.
To switch between retail and debug versions of the Microsoft virtual machine system classes, run classd.exe or classr.exe.
This service pack contains the required Visual J++ files needed to comply with the preliminary ruling issued by Federal District Court Judge Ronald H. Whyte. These changes were also included in Service Pack 2. For more information, please read \vj98\extwarn.txt in your Visual Studio folder or go to http://msdn.microsoft.com/visualj.
Compiler, Debugger, ActiveX, and IDE fixes
In this service pack release, the following issues in the general programming environment have been resolved:
- Q223339: The onCOMRegister method was not being invoked from a Java/COM-packaged DLL, causing problems in registering DLLs.
- A general protection fault occurred involving the Pdm.dll file after running script that transformed XML data.
- A particular sequence of spaces, line feeds, and carriage returns caused the Visual J++ code editor and debugger to fall out of sync when stepping through code.
- Controls created using Visual J++ were marked as using the default-threading model Both. This default setting creates several problems. First, user interface controls are bound to the thread that owns the control's window handle, which prevents the control from working properly in a multithreaded apartment thread. In service pack 3, the default-threading model for ActiveX controls has been changed to Apartment.
- Exiting Internet Explorer 5 on a machine with the Visual J++ debugger installed may terminate abnormally This problem is dependent on the type of content viewed in Internet Explorer 5 and the speed of your machine. This has been corrected in Visual Studio Service Pack 3.
- IDE crashed when doing a Save As of a utility project. This has been fixed in this service pack.
- If users opened the Break Point Properties dialog box several times while debugging in break mode, Visual J++ had trouble handling these multiple instances.
- JVC would not correctly compile against com.ms.fx.IFxLocaleFormatting.class or com.ms.fx.FxFormattedText.class.
- Problem Debugging Scripted Behaviors Internet Explorer 5 scripted behaviors (.htc) were not accessible via the debugger and, therefore, were not able to be debugged. This has been corrected in Visual Studio 6.0 Service Pack 3.
- Run-time Errors handled by Visual Studio even if Script Debugger was present Run-time errors would be handled by Visual Studio 6.0 even if the Script Debugger were installed. Users were unable to choose the Script Debugger as the application to use in this situation. Either Visual Studio or the Script Debugger can now handle run-time errors.
- Service Pack 3 contains a debugger update that enables the user to set design-time breakpoints in .js and .vbs files.
- The behavior of a form that included a single-threaded ActiveX control varied, depending on the environment in which the application was run. For example, if you created a single-threaded edit control, included that control on a form, and compiled the form into an executable file, the edit control would be unable to process keystrokes. However, if you did not compile the form to an executable file and ran your application through JView, the edit control behaved as expected. This service pack includes an update that enables single-threaded ActiveX controls embedded in a WFC form to behave as expected, regardless of the environment in which they are run.
- When adding a DHTML Edit control for Internet Explorer 5, Visual J++ started to generate the appropriate wrappers and compile them, but it would freeze. This has been fixed in the Jactivex.exe included in this service pack.
- When debugging Visual J++ 6.0 on Windows NT, the Machine Debug Manager previously retrieved a process's file name by querying the performance data registry. This approach to retrieving process information caused crashes. Consequently, the Machine Debug Manager has been modified to first attempt to use the Process Status API to retrieve process data. If this attempt fails, the Machine Debug Manager queries the performance data registry.
Microsoft Windows Foundation Classes fixes
The following items have been fixed in the 1.0.0.8443 release of the Windows Foundation Classes. This release is installed with the Microsoft virtual machine included with Service Pack 3.
ActiveX support fixes
- Q215353: ActiveXHost doesn't handle license with certain ActiveX controls When hosting certain ActiveX controls, such as DB Grid 6.0, that require a license on a computer other than the one where the form was originally authored, a warning or error dialog box would appear stating the license would expire in n days. This would happen even if the computer where the application was deployed had a valid copy of the license. This is now fixed, and the warning will not appear unless the control is unlicensed.
Code-behind-HTML fixes
See also Known issues.
- Q194787: DhDocument.setTitle does not work from initForm Calling DhDocument.setTitle(string title) had no effect on the document's title. Calling setTitle in onDocumentLoad would work around this problem. DhDocument.setTitle now works correctly from both initForm and onDocumentLoad.
- Q195174: When <BODY> tags are not capitalized, JDHTML controls can't be added to a bound template When doing server-side code behind-HTML and the <BODY> tags in the HTML template document were not in uppercase (<BODY>), the code-behind module could not properly bind to the document, and DhElements could not be added to the page. The search for <BODY> tags is now case insensitive.
- Q195173: WinIOException when calling DhDocument.dumpDHTML and DhDocument.dumpHTML DhDocument.dumpHTML and DhDocument.dumpDHTML are unsupported methods. They have been marked as @deprecated, and the compiler will issue a warning if they are used.
- Q197567: DhCell.resetTextAlign does not set the cells text alignment to that of its containing row DhCell.resetTextAlign now resets the alignment of the text in the cell to match that of the DhRow in which the cell is contained.
- Q197566: After removing a header row or footer row, DhTable.removeAll throws an exception In the released WFC, an ArrayIndexOutOfBounds exception was thrown when removing a header or footer. This is no longer the case.
- Q223366: DhStyleBase is missing setBackgroundImage There was no way to directly set the background image style for DhStyleBase-derived elements without programming through the Internet Explorer Document Object Model. DhStyleBase now has a new method: setBackgroundImage(String imageURL) where imageURL is the path (fully qualified or relative) to the image.
- Q223370: Event-Handler Support for WFC.UI controls in Code-Behind HTML Scenario In a code-behind HTML project in Visual J++ 6.0, users will find when wfc.ui controls are added to an HTML page, they do not support event handlers for the onEnter and onLeave events. However, the onMouseEnter and onMouseLeave events will still run properly. The onEnter and onLeave run only when a control is placed on a wfc.ui.Form.
- Binding to a DhInlineFrame stops onDocumentLoad from being called Binding a DhInlineFrame to an <IFRAME> tag in initForm with DhDocument.setBoundElements(DhElement elements[]) would throw an exception that was silently handled by the framework. As a result, onDocumentLoad was never called for a document. This bug is now fixed. The framework now correctly binds a DhInlineFrame to the <IFRAME> tag, and onDocumentLoad is called as expected.
- Binding to a DIV element that has text which is not enclosed in SPAN tags causes an exception Binding to elements that were heavily nested sometimes caused an element not found exception to be thrown. The workaround was to enclose raw HTML text in <span> tags. This problem has been fixed, and the workaround is no longer necessary.
- Calling and Binding Methods on WFC Controls in a Code-Behind Scenario Users can add com.ms.wfc.ui controls to an HTML page and have them participate in a code-behind scenario. To achieve the proper behavior, users should either call the DhBaseContainer.add( com.ms.wfc.ui.Control c) method or use DhComponentWrapper. Creating a DhComponentWrapper, setting its Control property (or specifying the control in the constructor), and adding it to a container is equivalent to calling the DhBaseContainer.add method. For more information, see DhComponentWrapper and DhBaseContainer.
- Calling DhModule.doMain from a console application causes a NullPointerException Server-side applications can be tested from a console application by creating a DhModule object, setting the server-side code class, and then calling doMain. Previously, calling doMain in this manner would cause a null pointer exception; this now works correctly.
- Changing a tab selection cause NullPointerException Selecting a tab in a TabControl that is hosted in an HTML page in a code-behind scenario would cause a NullPointerException. This exception is no longer thrown.
- Code-behind-HTML applications edited in the HTML Designer do not function in Internet Explorer 5 Code-behind-HTML applications edited in the HTML Designer do not function with Internet Explorer 5 installed, because the <PARAM> tags of <OBJECT> elements are incorrectly discarded. Code-behind-HTML applications that are already deployed are not affected. This has been corrected in Visual Studio Service Pack 3.
- Code-behind-HTML samples from vj6sampl.exe may stop working when Internet Explorer 5 is installed The Code-behind-HTML samples from vj6sampl.exe such as "dhButton," "dhContainer," and "dhImage" may stop working when Microsoft virtual machine version 5.0.3167 is installed. Microsoft VM version 5.0.3167 ships with Internet Explorer 5. This has been corrected in Visual Studio Service Pack 3.
- DhBulletedList.resetID throws DhElementNotFoundException Calling resetID on a DhBulletedList will still throw a DhElementNotFoundException, and the method is now marked as @deprecated. However, a warning will be generated at compile time. Moreover, the method is not displayed in CodeSense or in the Object Browser to prevent a developer from accidentally calling it.
- DhCell.getText on cell in data-bound DhTable returns an empty string This now works correctly.
- DhDocument.findElement throws DhElementNotFoundException if called after DhDocument.getAllElements Calling DhDocument.findElement(string elementID) would throw a DhElementNotFoundException if it was called to find an element after a call to DhDocument.getAllElements. DhDocument.findElement now works correctly even if DhDocument.getAllElements was called first.
- DhEdit.addOnClick throws a com.ms.wfc.core.WFCException for multiline text boxes only Adding an event handler to a multiline DhEdit in initForm would throw a WFCException claiming the element was not a <INPUT type=text> or <TEXTAREA>. The workaround was to add the event handlers to the multiline edit control in onDocumentLoad. Adding event handlers now works as expected in both initForm and onDocumentLoad.
- DhElement resetID Method has been Deprecated The DhElement class resetID method failed. In this service pack, the method works, but it has been deprecated.
- DhModule is never finalized, causing an IIS memory leak In this service-pack release, DhModule is now properly discarded after use.
- DhModule Methods to Retrieve an Object's PARAM Value The DhModule class now supports the following methods that make it possible to retrieve the value of an object's PARAM tags:
- public String getParameter(String paramName)
- public String[] getParameterNames()
The paramName parameter identifies the object parameter that you want to retrieve. If no object parameter corresponds to the one that you request, this method returns an empty string.
The second method, getParameterNames, retrieves the names of all available PARAM values and returns these names in an array of String objects. These methods are supported for use only within Internet Explorer. A call to these methods from within any other environment triggers a WFCInvalidStateException.
- DhRadioButton and DhCheckBox won't surface Document Object Model attributes or styles set in HTML Binding to an HTML radio button or check box that had custom properties set on it would not keep those properties once the object was bound in JDHTML. These unique properties would be lost once the object was bound. This is now fixed, and custom properties for radio buttons and check boxes are available from JDHTML.
- DhRow.add now takes only DhCell In the first release of WFC, DhRow.add would take any DhElement-derived object. If the object was not a DhCell derivative, the method would silently fail. In this release, a WFCInvalidParameterException is thrown if the DhElement is not derived from DhCell.
- DhTable.showNextPage throws a null pointer exception when called after getBodyCell This issue shows up only on Internet Explorer 5. Calling DhTable.showNextPage now works correctly even if getBodyCell has already been called.
- DhText.setFont, DhText.getFont, and DhText.resetFont do not work correctly If text represented in a DhText object was rendered in a struck-out or underlined font, calling setFont on that object with a non-underlined or non-struck-out font would not remove the underline or strike-out attributes from the font. This now works as expected.
- Getting an exception in WFC in server-side code will create problems in IIS, causing memory shortage DataBound DhTables that were never added to a container would not be properly finalized, causing IIS to consume but never free its memory.
- Internet Explorer 5 returns "can't get WFC form surface exception" if loading a complex code-behind scenario across network The default security settings in Internet Explorer 5 were preventing WFC controls in a code-behind scenario from working correctly if the HTML document was loaded from a local network drive or intranet site. This scenario now works as expected.
- Internet Explorer problem with Mshtml.dll would close the browser window after the timer started The IOleClientSite for the timer control was being destroyed before the object was deactivated. The object is now deactivated before its site is destroyed.
- Performance improvement: Add DhBaseContainer.removeAllSafe DhBaseContainer now has a method removeAllSafe that removes all child elements very quickly. It is currently used on DhBulletedList and can also be used in a developer's derived container as follows:
public void setElement(DhElement e)
{
removeAllSafe();
m_item = e;
if (e != null)
super.add(e);
}
- Problems binding elements to DHDocument if no objects were bound first There was a problem with binding and adding objects to a DhDocument. If no objects were added to a DhDocument before a call to setHTMLDocument, then all subsequent additions, such as setBoundsElement, to DhDocument would fail. This behavior has been corrected.
- ReadyStateEvent has "???" as the value for the readyState The ReadyStateEvent had the string "???" as the value for the readyState regardless of what the ready state was. The ready state can now be one of the following values: complete, interactive, loaded, or uninitialized.
- Styles without a period (.) at the beginning of the name can't be added to elements If a DhStyle was created using the DhStyle(string name) constructor, and the name parameter did not begin with a period, the style could not be added to an element. This constructor now prepends a period to the style name if one is not already there.
- The getPropertyBag method has been added to DhModule In the first release of WFC, it was impossible for a DhDocument-derived class in a code-behind scenario to get at any <PARAM> tags within its DhModule <OBJECT> tag. DhModule has two new methods:
- public String[] getParameterNames
Returns an array of strings representing the NAME attributes for each of the <PARAM> tags.
- public String getParameter(string parameterName)
Returns the VALUE attribute for the passed in parameterName.
- When binding to a table with an existing header or footer row, the header/footer row is not treated as part of the table Calling DhDocument.setBoundElements(DhElement elements[]) to bind a DhTable to an existing <TABLE> in HTML would bind to the table. However, if that table had a <THEAD> or <TFOOT>, they were not treated as a part of the table. For example, myTable.removeAll would remove all the body rows, but the header and footer rows would remain. The previous workaround was to get the <TABLE> with DhDocument.findElement(string id) in onDocumentLoad. Both of these scenarios now work as expected.
Other WFC library and control fixes
- Q223358: Creating more than two MDI children in the parent's constructor throws a WFCException If a form created more than two multiple-document interface children in its constructor, a WFC Win32Exception would be thrown. After this exception, the form would have only two children added. This is now fixed. An arbitrary number of MDI children can be created and added to a form in its constructor.
- Q223369: Exception in native code when sorting using a ListView control Calling the setSorting method on a ListView control in response to a column-click event would cause an exception from the native code underlying the control. The exception is no longer thrown.
- Q223365: MouseEnter and MouseLeave get confused on a PictureBox that has to re-create a handle The MouseEnter and MouseLeave events would cause problems if, in response to one of them, a PictureBox were to be re-created. For example, calling the setBorderStyle method on a PictureBox will cause a handle re-creation. If this method were called in a MouseEnter or MouseLeave event handler, the state of the MouseEnter/Leave would be left unresolved, and future Enter/Leave events would not be recognized. This is fixed in most cases, though it is possible to miss one or more enter/leave events. The control, however, will resynchronize itself, and Enter/Leave events are triggered as expected after some time.
- Q223351: The setSelectedIndex in Tab Control does not properly paint children Calling the method setSelectedIndex on a TabControl would sometimes fail to render the child controls on that page correctly. This issue has been resolved.
- Q223368: Method setChecked not working on Context Menu Context menus for controls were not receiving their WM_INITMENUPOPUP message. Therefore, any menu checks performed were not applied. Calling the method setChecked on context menus now works as expected.
- Q223352: Button sizing is inconsistent between the Forms Designer and run time Child MDI windows that are created in the constructor of their MDI frames would have autoscaling applied to them twice, once by the parent and once by themselves. This could cause controls on the child window to be sized differently at run time and at design time. MDI parents no longer autoscale their children.
- Q223344: The com.ms.wfc.app.RegistryKey.setValue method doesn't work correctly for string arrays When calling com.ms.wfc.app.RegistryKey.setValue(Object) with a string array that is its parameter, several characters of the last string element in the array would not be written correctly. Writing string arrays with this method now works correctly.
- Q223367: The com.ms.wfc.app.RegistryKey.setValue method does not account for terminating characters on Windows NT When setting the value of a string with com.ms.wfc.app.RegistryKey.setValue on Windows NT, it was not adding to null-terminating characters correctly. This has been corrected.
- A NullPointerException is thrown when removing a RebarBand without a child control The following code threw a NullPointerException:
RebarBand Band = new RebarBand();
rebar1.addBand(Band);
rebar1.removeBand(Band); // throws NullPointerException
This now works correctly, and the exception is not thrown.
- Can't start up Rebar with multiple RebarBands on the same row At design time, it was possible to create a Rebar control with multiple RebarBands on the same row. At run time, however, each RebarBand would appear in its own row. The RebarBands now appear in the row where they belong.
- Databinding issues for dateTimePicker The date field in the DateTimePicker control can now successfully be bound to a date data field in a database.
- Form.createWindowGraphics throws a WFCInvalidArgumentException This method now works as expected, and a usable com.ms.wfc.ui.Graphics class is returned.
- Garbage appears on toolbar after installing IE5 When running Internet Explorer 5 in Windows 95 or Windows 98, garbage characters would appear in the ToolBar ToolTip and under the ToolBar button image. This has been corrected in this service pack.
- ImageList sets defaults to 16 colors The ImageList control now has a new property: colorDepth. The value of this property should be set to one of the constants in the ColorDepth enumeration. However, when running on a system with more than 256 colors where the ImageList is to contain images that have 256 colors, the colorDepth property should be set to one of the following:
- ColorDepth.COLORDEPTH_64K_COLORS
- ColorDepth.COLORDEPTH_MILLIONS_OF_COLORS
- ColorDepth.COLORDEPTH_TRUE_COLOR
- ListItem.setSelected(false) and setFocused(false) don't work In code, you can now successfully clear and remove the focus from ListItems in a ListView control.
- Modifying drop-down Data Field menu on DataBinder's Properties page Visual J++ 6.0 would stop responding when the user attempted to modify the drop-down Data Field menu on the Properties page of a DataBinder object.
- RasterOp.BRUSH and RasterOp.PEN don't work as expected with transparent images Drawing a transparent image with a RasterOp of PEN or BRUSH would draw the non-transparent areas of the image in white instead of the color of the BRUSH or PEN. This is fixed for the RasterOp.BRUSH case. For RasterOp.PEN, nothing is drawn.
- Saving an Image object to a memory stream does not work as expected Extracting an Image object from an ImageList and trying to persist it to a memory stream or file would fail if the underlying PICTDESC was null. A valid bitmap PICTDESC is now returned, and the image can successfully be persisted.
- System problems on Windows NT 4.0 Service Pack 3 Under specific circumstances, a computer running Windows NT 4.0 Service Pack 3 freezes when running a WFC application that showed a window that did not have a parent window. This problem has been fixed in Windows NT 4.0 Service Pack 4 and Visual Studio 6.0 Service Pack 3. The WFC now checks for the parent window correctly.
- When extending HTMLControl, onDocumentReady is never called A user-written control that extended the com.ms.wfc.ui.HTMLControl never called the onDocumentReady method. This is now fixed, and the method is called as expected.
Other fixes
- Q223361: Method Time.getDayOfWeek Value Returned Error The "Remarks" section for the Time.getDayOfWeek method contains incorrect information. It should state the number returned by the getDayOfWeek method is always from 0 through 6 where a value of 0 represents Sunday.
- Overloaded File.File Constructors Omitted from WFC Reference Documentation The following overloaded versions of the constructor were omitted in the File.File topic:
- public File (String path, int mode)
- public File (String path, int mode, int access)
In the first version, file access is set to FileAccess.READWRITE, and file sharing is set to FileShare.NONE. In the second version, file sharing is set to FileShare.READ if the access parameter is set to FileAccess.READ; otherwise, file sharing is set to FileShare.NONE.
Known issues
Access 2000 databases must be connected via ODBC in Data Form Wizard
You might get a "Unrecognized database format" error when connecting to an Access 2000 database using the Data Form Wizard. To connect to an Access 2000 database, specify the database type as ODBC (rather than Access, which will assume Access 98) on the "Database Type" page. On the Connect Information page, you can then specify the Access 2000 database file (*.mdb) as the database, and Microsoft Access Driver (*.mdb) as the driver. Alternatively, you could set up a DSN using the ODBC Data Source wizard from the Windows Control Panel and specify the DSN on the Connect Information page of the Data Form Wizard.
Code-behind HTML support and Windows 2000 Beta 3
WFC controls from the com.ms.wfc.ui package that are added to a DhDocument (via the DhComponentWrapper() method) do not work on Windows 2000 Beta 3. This issue will be fixed in a future release of Windows 2000.
Microsoft Visual SourceSafe
The following Visual SourceSafe issues have been fixed in Service Pack 3:
- Q196599: VSS 6.0 hangs when issuing a Get on a Label from the History dialog.
- Q197050: "Get" by Label of subproject of labeled $/ by a VSS 6.0 client on a VSS 5.0 format database results in "Version not found," and nothing is retrieved.
- VSS 6.0 Analyze Utility crashes with access violation.
- VSS 6.0 Show difference window is giving errors. In the VSS 6.0 Show Difference window, several operational bugs were reported that resulted in erroneous information being displayed and valid operations not being performed. Many of these reported display problems with the Show Difference window have been fixed in this service pack.
Finding More Information
For more in-depth information about the Visual Studio issues that are fixed in this Service Pack, see http://support.microsoft.com/support/vstudio.
For the latest product information, see the Visual Studio Web site at http://msdn.microsoft.com/vstudio.
File Versions
The following table lists the developer tools that have been updated in this Visual Studio 6.0 Service Pack. It also lists the key files you should check to ascertain version information.
Product |
Files |
Version on Release |
Version in SP3 |
| Data Tools |
mdt2db.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2dbns.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2dbui.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2dd.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2ddui.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2df.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2dfx.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2fref.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2fw.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2fw95.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2fwui.dll |
2.0.0.8171 |
2.0.0.8456 |
| |
mdt2g.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2gddo.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2gddr.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2lv.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2lvui.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2qd.dll |
2.0.0.8171 |
2.0.0.8456 |
| |
mdt2qdui.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2sd.dll |
2.0.0.8171 |
2.0.0.8425 |
| |
mdt2sdui.dll |
2.0.0.8171 |
2.0.0.8425 |
| Environment |
msenv.dll |
6.1.81.71 |
6.1.84.26 |
| HTML Help 1.21 |
hh.exe |
4.72.8171.0 |
4.73.8412.0 |
| |
hhctrl.ocx |
4.72.8164.0 |
4.73.8412.0 |
| |
htmlhelp.exe |
4.71.1015.0 |
4.71.1015.0 |
| |
itircl.dll |
4.72.7276.0 |
4.72.7276.0 |
| |
itss.dll |
4.72.8037.0 |
4.72.8084.0 |
| Internet Explorer 5.0 |
|
|
|
| DAO/Jet |
_dbdao.h |
|
|
| |
dao360.dll |
|
3.60.2521.8 |
| |
daogetrw.h |
|
|
| |
dbdao.cpp |
|
|
| |
dbdao.dsp |
|
|
| |
dbdao.dsw |
|
|
| |
dbdao.h |
|
|
| |
dbdao.mak |
|
|
| |
dbdao.rc |
|
|
| |
dbdaoerr.h |
|
|
| |
dbdaoid.h |
|
|
| |
dbdaoint.h |
|
|
| |
dbdaouid.cpp |
|
|
| |
msjet35.dll |
3.51.623.4 |
3.51.2723.0 |
| |
msjt4jlt.dll |
3.52.1527.3 |
3.52.2723.0 |
| |
msrepl35.dll |
3.51.623.0 |
3.51.2404.0 |
| |
msscript.ocx |
1.0.0.2604 |
1.0.0.3715 |
| |
odbcstf.dll |
3.510.3002.13 |
3.510.3904.0 |
| |
resource.h |
|
|
| |
stdafx.h |
|
|
| |
version.h |
|
|
| |
version.rc |
|
|
| |
version.usr |
|
|
| |
verstamp.h |
|
|
| MS Data Access Components 2.1 SP1 |
adc.h |
|
|
| |
adoctint.h |
|
|
| |
adoid.h |
|
|
| |
adoint.h |
|
|
| |
adojet.h |
|
|
| |
adojet.idl |
|
|
| |
adomd.h |
|
|
| |
adomd.idl |
|
|
| |
cmdtree.h |
|
|
| |
icrsint.h |
|
|
| |
jetoledb.h |
|
|
| |
jetoledb.idl |
|
|
| |
jetoledb.lib |
|
|
| |
mdac_typ.cab |
|
|
| |
mdac_typ.exe |
4.71.1015.0 |
21.1.3711.11 |
| |
msado15.h |
|
|
| |
msado15.idl |
|
|
| |
msdadc.h |
|
|
| |
msdaguid.h |
|
|
| |
msdaora.h |
|
|
| |
msdaosp.h |
|
|
| |
msdasc.h |
|
|
| |
msdasc.lib |
|
|
| |
msdasql.h |
|
|
| |
msdatsrc.h |
|
|
| |
msdatsrc.tlb |
|
|
| |
msdshape.h |
|
|
| |
msjetoledb.h |
|
|
| |
msremote.h |
|
|
| |
ocdb.h |
|
|
| |
odbc32.lib |
|
|
| |
odbccp32.lib |
|
|
| |
odbcinst.h |
|
|
| |
oledb.h |
|
|
| |
oledb.lib |
|
|
| |
oledbdep.h |
|
|
| |
oledberr.h |
|
|
| |
osptk.lib |
|
|
| |
persist.h |
|
|
| |
simpdata.h |
|
|
| |
simpdata.tlb |
|
|
| |
sql.h |
|
|
| |
sqlext.h |
|
|
| |
sqloledb.h |
|
|
| |
sqltypes.h |
|
|
| |
sqlucode.h |
|
|
| OLE Automation |
asycfilt.dll |
2.30.4261.1 |
2.40.4275.1 |
| |
oleaut32.dll |
2.30.4261.1 |
2.40.4275.1 |
| |
olepro32.dll |
5.0.4261.1 |
5.0.4275.1 |
| |
stdole2.tlb |
2.30.4261.1 |
2.40.4275.1 |
| Scripting 5.0 |
dispex.dll |
4.0.0.2926 |
5.0.0.3715 |
| |
jschs.dll |
|
5.0.0.3715 |
| |
jscht.dll |
|
5.0.0.3715 |
| |
jscript.dll |
4.0.0.2920 |
5.0.0.3715 |
| |
jsde.dll |
|
5.0.0.3715 |
| |
jses.dll |
|
5.0.0.3715 |
| |
jsfr.dll |
|
5.0.0.3715 |
| |
jsit.dll |
|
5.0.0.3715 |
| |
jsjp.dll |
|
5.0.0.3715 |
| |
jsko.dll |
|
5.0.0.3715 |
| |
scochs.dll |
|
1.0.0.3715 |
| |
scocht.dll |
|
1.0.0.3715 |
| |
scode.dll |
|
1.0.0.3715 |
| |
scoes.dll |
|
1.0.0.3715 |
| |
scofr.dll |
|
1.0.0.3715 |
| |
scoit.dll |
|
1.0.0.3715 |
| |
scojp.dll |
|
1.0.0.3715 |
| |
scoko.dll |
|
1.0.0.3715 |
| |
scrobj.dll |
|
1.0.0.3715 |
| |
scrrnchs.dll |
|
5.0.0.3715 |
| |
scrrncht.dll |
|
5.0.0.3715 |
| |
scrrnde.dll |
|
5.0.0.3715 |
| |
scrrnes.dll |
|
5.0.0.3715 |
| |
scrrnfr.dll |
|
5.0.0.3715 |
| |
scrrnit.dll |
|
5.0.0.3715 |
| |
scrrnjp.dll |
|
5.0.0.3715 |
| |
scrrnko.dll |
|
5.0.0.3715 |
| |
scrrun.dll |
4.0.0.2926 |
5.0.0.3715 |
| |
vbschs.dll |
|
5.0.0.3715 |
| |
vbscht.dll |
|
5.0.0.3715 |
| |
vbscript.dll |
4.0.0.2926 |
5.0.0.3715 |
| |
vbsde.dll |
|
5.0.0.3715 |
| |
vbses.dll |
|
5.0.0.3715 |
| |
vbsfr.dll |
|
5.0.0.3715 |
| |
vbsit.dll |
|
5.0.0.3715 |
| |
vbsjp.dll |
|
5.0.0.3715 |
| |
vbsko.dll |
|
5.0.0.3715 |
| Visual Basic |
ado210.chm |
|
|
| |
appwiz.ocx |
6.0.0.8177 |
6.0.0.8450 |
| |
begin.frm |
|
|
| |
begin.frx |
|
|
| |
c2.dll |
12.0.8168.0 |
12.0.8447.0 |
| |
co2c40en.dll |
4.6.1.106 |
4.6.1.106 |
| |
comct332.cab |
|
|
| |
comct332.dep |
|
|
| |
comct332.ocx |
6.0.0.8169 |
6.0.0.8450 |
| |
comct3ax.cab |
|
|
| |
comdlg32.cab |
|
|
| |
comdlg32.dep |
|
|
| |
comdlg32.ocx |
5.1.43.19 |
6.0.84.18 |
| |
comdlgax.cab |
|
|
| |
common.bas |
|
|
| |
commonrc.h |
|
|
| |
commonrc.rc |
|
|
| |
copy.frm |
|
|
| |
copy.frx |
|
|
| |
datarpt.dsr |
|
|
| |
dataview.dll |
6.0.0.8169 |
6.0.0.8450 |
| |
dlgobjs.dll |
4.0.1.23 |
4.0.1.23 |
| |
dskspace.frm |
|
|
| |
dskspace.frx |
|
|
| |
expsrv.dll |
6.0.0.8167 |
6.0.0.8269 |
| |
group.frm |
|
|
| |
group.frx |
|
|
| |
hostwiz.dll |
6.0.0.8169 |
6.0.0.8450 |
| |
htmpdfr.dll |
|
6.0.81.63 |
| |
htmprfr.dll |
|
6.0.81.63 |
| |
htmutil.dll |
6.0.0.8152 |
6.0.0.8405 |
| |
install.bmp |
|
|
| |
logging.bas |
|
|
| |
makecab.exe |
|
1.0.603.4 |
| |
mci32.cab |
|
|
| |
mci32.dep |
|
|
| |
mci32.ocx |
6.0.81.69 |
6.0.84.18 |
| |
mci32ax.cab |
|
|
| |
message.frm |
|
|
| |
message.frx |
|
|
| |
modshell.bas |
|
|
| |
msaddcax.cab |
|
|
| |
msadodc.cab |
|
|
| |
msadodc.dep |
|
|
| |
msadodc.ocx |
6.0.81.71 |
6.0.84.18 |
| |
msbind.cab |
|
|
| |
msbind.dep |
|
|
| |
msbind.dll |
6.0.81.69 |
6.0.84.50 |
| |
msbindax.cab |
|
|
| |
mscdrun.cab |
|
|
| |
mschrt20.cab |
|
|
| |
mschrt20.dep |
|
|
| |
mschrt20.ocx |
6.0.81.77 |
6.0.84.18 |
| |
mschrtax.cab |
|
|
| |
mscmc2ax.cab |
|
|
| |
mscmctax.cab |
|
|
| |
mscomct2.cab |
|
|
| |
mscomct2.dep |
|
|
| |
mscomct2.ocx |
6.0.81.77 |
6.0.84.18 |
| |
mscomctl.cab |
|
|
| |
mscomctl.dep |
|
|
| |
mscomctl.ocx |
6.0.81.77 |
6.0.84.98 |
| |
msdagdax.cab |
|
|
| |
msdalsax.cab |
|
|
| |
msdatgrd.cab |
|
|
| |
msdatgrd.dep |
|
|
| |
msdatgrd.ocx |
6.0.81.69 |
6.0.84.18 |
| |
msdatlst.cab |
|
|
| |
msdatlst.dep |
|
|
| |
msdatlst.ocx |
6.0.81.69 |
6.0.84.18 |
| |
msde.dll |
6.0.0.3005 |
6.0.84.50 |
| |
msderun.cab |
|
|
| |
msderun.dep |
|
|
| |
msderun.dll |
6.0.0.3005 |
6.0.84.50 |
| |
msdeui.dll |
6.0.0.3005 |
6.0.0.3005 |
| |
msflxgax.cab |
|
|
| |
msflxgrd.cab |
|
|
| |
msflxgrd.dep |
|
|
| |
msflxgrd.ocx |
5.1.43.19 |
6.0.84.18 |
| |
mshfgax.cab |
|
|
| |
mshflxgd.cab |
|
|
| |
mshflxgd.dep |
|
|
| |
mshflxgd.ocx |
6.0.30.5 |
6.0.84.18 |
| |
msmask32.cab |
|
|
| |
msmask32.dep |
|
|
| |
msmask32.ocx |
6.0.81.69 |
6.0.84.18 |
| |
msmaskax.cab |
|
|
| |
msprpcht.cab |
|
|
| |
msprpcht.dll |
|
6.0.84.50 |
| |
msrdc20.cab |
|
|
| |
msrdc20.dep |
|
|
| |
msrdc20.ocx |
6.0.81.69 |
6.0.84.18 |
| |
msrdc2ax.cab |
|
|
| |
msrdo20.cab |
|
|
| |
msrdo20.dep |
|
|
| |
msrdo20.dll |
6.0.81.69 |
6.0.84.50 |
| |
msstdfmt.dep |
|
|
| |
msstdfmt.dll |
6.0.81.69 |
6.0.84.50 |
| |
msvbv6ax.cab |
|
|
| |
msvbvm60.cab |
|
|
| |
msvbvm60.dll |
6.0.81.76 |
6.0.84.95 |
| |
mswcrun.cab |
|
|
| |
mswcrun.dep |
|
|
| |
mswcrun.dll |
6.0.81.69 |
6.0.84.50 |
| |
mswless.dep |
|
|
| |
mswless.ocx |
6.0.81.69 |
6.0.84.50 |
| |
odbc log in.frm |
|
|
| |
oleaut.cab |
|
|
| |
oleautax.cab |
|
|
| |
overwrit.frm |
|
|
| |
overwrit.frx |
|
|
| |
path.frm |
|
|
| |
path.frx |
|
|
| |
pdaddin.dll |
6.0.0.8169 |
6.0.0.8450 |
| |
pdcmdln.exe |
6.0.0.8169 |
6.0.0.8450 |
| |
pdwizard.ocx |
6.0.0.8169 |
6.0.0.8450 |
| |
pdwizchs.dll |
|
6.0.0.8450 |
| |
pdwizcht.dll |
|
6.0.0.8450 |
| |
pdwizdeu.dll |
|
6.0.0.8450 |
| |
pdwizesn.dll |
|
6.0.0.8450 |
| |
pdwizfra.dll |
|
6.0.0.8450 |
| |
pdwizita.dll |
|
6.0.0.8450 |
| |
pdwizjpn.dll |
|
6.0.0.8450 |
| |
pdwizkor.dll |
|
6.0.0.8450 |
| |
picclp32.cab |
|
|
| |
picclp32.dep |
|
|
| |
picclp32.ocx |
6.0.81.69 |
6.0.84.18 |
| |
picclpax.cab |
|
|
| |
rdocurs.dll |
5.0.81.69 |
6.0.84.50 |
| |
registry.bas |
|
|
| |
repvbrc.dll |
6.0.8161.0 |
6.0.8161.1 |
| |
resedit.dll |
6.0.0.8169 |
6.0.0.8450 |
| |
richtx32.cab |
|
|
| |
richtx32.dep |
|
|
| |
richtx32.ocx |
6.0.81.69 |
6.0.84.18 |
| |
richtxax.cab |
|
|
| |
serverdt.frm |
|
|
| |
serverdt.frx |
|
|
| |
setup.exe |
2.20.903.0 |
6.0.84.50 |
| |
setup1.bas |
|
|
| |
setup1.exe |
6.0.0.8171 |
6.0.0.8450 |
| |
setup1.frm |
|
|
| |
setup1.frx |
|
|
| |
setup1.ico |
|
|
| |
setup1.rc |
|
|
| |
setup1.res |
|
|
| |
setup1.vbp |
|
|
| |
setupres.bas |
|
|
| |
setupres.h |
|
|
| |
sqlparse.dll |
5.0.81.69 |
5.0.84.61 |
| |
st6unst.exe |
6.0.81.69 |
6.0.84.50 |
| |
tabctl32.cab |
|
|
| |
tabctl32.dep |
|
|
| |
tabctl32.ocx |
5.1.43.19 |
6.0.84.18 |
| |
tabctlax.cab |
|
|
| |
vb6.exe |
6.0.81.76 |
6.0.84.64 |
| |
vb6debug.dll |
6.0.81.69 |
6.0.84.62 |
| |
vb6dep.ini |
|
|
| |
vb6ide.dll |
5.0.81.69 |
6.0.84.50 |
| |
vb6stkit.dll |
6.0.81.69 |
6.0.84.50 |
| |
vba6.dll |
6.0.0.8169 |
6.0.0.8495 |
| |
vbreadme.htm |
|
|
| |
vbrun60.cab |
|
|
| |
vbrun6ax.cab |
|
|
| |
vbsdidb.dll |
5.0.81.70 |
5.0.84.61 |
| |
vbshell.odl |
|
|
| |
vbshell.tlb |
|
|
| |
wbclsdsr.ocx |
6.0.81.69 |
6.0.84.50 |
| |
welcome.frm |
|
|
| |
welcome.frx |
|
|
| Visual C++ |
afxbld_.h |
|
|
| |
afxisapi.h |
|
|
| |
afxodlgs.h |
|
|
| |
afxwin1.inl |
|
|
| |
appui1.cpp |
|
|
| |
arccore.cpp |
|
|
| |
atl.dll |
3.0.8168.0 |
3.0.8449.0 |
| |
atl.lib |
|
|
| |
atlbase.h |
|
|
| |
atlcom.h |
|
|
| |
atldb.h |
|
|
| |
atldbcli.h |
|
|
| |
atlimpl.cpp |
|
|
| |
barcore.cpp |
|
|
| |
c1.dll |
12.0.8168.0 |
12.0.8472.0 |
| |
c1xx.dll |
12.0.8168.0 |
12.0.8472.0 |
| |
c2.dll |
12.0.8168.0 |
12.0.8447.0 |
| |
calloc.c |
|
|
| |
ctlinplc.cpp |
|
|
| |
cvtres.exe |
5.0.1720.1 |
5.0.1736.1 |
| |
daocore.cpp |
|
|
| |
dbgheap.c |
|
|
| |
delete.cpp |
|
|
| |
devaut1.pkg |
6.0.8168.0 |
6.0.8447.0 |
| |
devbld.pkg |
6.0.8168.0 |
6.0.8447.0 |
| |
devclvw.pkg |
6.0.8168.0 |
6.0.8447.0 |
| |
devcpp.pkg |
6.0.8168.0 |
6.0.8447.0 |
| |
devedit.pkg |
6.0.8168.0 |
6.0.8447.0 |
| |
devprj.pkg |
6.0.8168.0 |
6.0.8447.0 |
| |
devshl.dll |
6.0.8168.0 |
6.0.8472.0 |
| |
dlgcore.cpp |
|
|
| |
dlgprnt.cpp |
|
|
| |
dm.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
eafxis.lib |
|
|
| |
eafxisd.lib |
|
|
| |
eafxisd.pdb |
|
|
| |
expand.c |
|
|
| |
feacp.dll |
12.0.8168.0 |
12.0.8447.0 |
| |
free.c |
|
|
| |
heapchk.c |
|
|
| |
heapinit.c |
|
|
| |
heapmin.c |
|
|
| |
isapi.cpp |
|
|
| |
libc.lib |
|
|
| |
libcd.lib |
|
|
| |
libcd.pdb |
|
|
| |
libcmt.lib |
|
|
| |
libcmtd.lib |
|
|
| |
libcmtd.pdb |
|
|
| |
link.exe |
6.0.8168.0 |
6.0.8447.0 |
| |
malloc.c |
|
|
| |
mfc40.dll |
4.0.0.5277 |
4.1.0.6140 |
| |
mfc40u.dll |
4.1.0.6139 |
4.1.0.6140 |
| |
mfc42.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfc42.lib |
|
|
| |
mfc42.map |
|
|
| |
mfc42.pdb |
|
|
| |
mfc42d.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfc42d.lib |
|
|
| |
mfc42d.map |
|
|
| |
mfc42d.pdb |
|
|
| |
mfc42u.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfc42u.lib |
|
|
| |
mfc42u.map |
|
|
| |
mfc42u.pdb |
|
|
| |
mfc42ud.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfc42ud.lib |
|
|
| |
mfc42ud.map |
|
|
| |
mfc42ud.pdb |
|
|
| |
mfcapwz.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfcd42d.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfcd42d.lib |
|
|
| |
mfcd42d.map |
|
|
| |
mfcd42d.pdb |
|
|
| |
mfcd42ud.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfcd42ud.lib |
|
|
| |
mfcd42ud.map |
|
|
| |
mfcd42ud.pdb |
|
|
| |
mfcn42d.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfcn42d.lib |
|
|
| |
mfcn42d.map |
|
|
| |
mfcn42d.pdb |
|
|
| |
mfcn42ud.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfcn42ud.lib |
|
|
| |
mfcn42ud.map |
|
|
| |
mfcn42ud.pdb |
|
|
| |
mfco42d.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfco42d.lib |
|
|
| |
mfco42d.map |
|
|
| |
mfco42d.pdb |
|
|
| |
mfco42ud.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
mfco42ud.lib |
|
|
| |
mfco42ud.map |
|
|
| |
mfco42ud.pdb |
|
|
| |
mfcs42.lib |
|
|
| |
mfcs42.pdb |
|
|
| |
mfcs42d.lib |
|
|
| |
mfcs42d.pdb |
|
|
| |
mfcs42u.lib |
|
|
| |
mfcs42u.pdb |
|
|
| |
mfcs42ud.lib |
|
|
| |
mfcs42ud.pdb |
|
|
| |
msize.c |
|
|
| |
msvcrt.dll |
6.0.8168.0 |
6.0.8397.0 |
| |
msvcrt.lib |
|
|
| |
msvcrt.pdb |
|
|
| |
msvcrt40.dll |
4.21.0.0 |
4.22.0.0 |
| |
msvcrtd.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
msvcrtd.lib |
|
|
| |
msvcrtd.pdb for .dll |
|
|
| |
msvcrtd.pdb for .lib |
|
|
| |
nafxcw.lib |
|
|
| |
nafxcw.pdb |
|
|
| |
nafxcwd.lib |
|
|
| |
nafxcwd.pdb |
|
|
| |
nafxis.lib |
|
|
| |
nafxisd.lib |
|
|
| |
nafxisd.pdb |
|
|
| |
new.cpp |
|
|
| |
oleaut32.lib |
|
|
| |
oleauto.h |
|
|
| |
oledlgs2.cpp |
|
|
| |
psession.h |
|
|
| |
realloc.c |
|
|
| |
sbheap.c |
|
|
| |
shcv.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
sockcore.cpp |
|
|
| |
strex.cpp |
|
|
| |
strftime.c |
|
|
| |
tln0t.dll |
6.0.8168.0 |
6.0.8447.0 |
| |
tzset.c |
|
|
| |
uafxcw.lib |
|
|
| |
uafxcw.pdb |
|
|
| |
uafxcwd.lib |
|
|
| |
uafxcwd.pdb |
|
|
| |
uuid.lib |
|
|
| |
viewcore.cpp |
|
|
| |
wincore.cpp |
|
|
| |
winfrm.cpp |
|
|
| |
winheap.h |
|
|
| Visual FoxPro |
_app.vct |
|
|
| |
_app.vcx |
|
|
| |
_base.prg |
|
|
| |
_base.vct |
|
|
| |
_base.vcx |
|
|
| |
_controls.vct |
|
|
| |
_controls.vcx |
|
|
| |
_environ.vct |
|
|
| |
_environ.vcx |
|
|
| |
_framewk.dbf |
|
|
| |
_framewk.fpt |
|
|
| |
_framewk.h |
|
|
| |
_framewk.vct |
|
|
| |
_framewk.vcx |
|
|
| |
_gallery.vct |
|
|
| |
_gallery.vcx |
|
|
| |
_html.vct |
|
|
| |
_html.vcx |
|
|
| |
_htmlsty.vct |
|
|
| |
_htmlsty.vcx |
|
|
| |
_internet.vct |
|
|
| |
_internet.vcx |
|
|
| |
_menu.vct |
|
|
| |
_menu.vcx |
|
|
| |
_miscbtns.vct |
|
|
| |
_miscbtns.vcx |
|
|
| |
_movers.vct |
|
|
| |
_movers.vcx |
|
|
| |
_reports.vct |
|
|
| |
_reports.vcx |
|
|
| |
_table.vct |
|
|
| |
_table.vcx |
|
|
| |
_therm.vct |
|
|
| |
_therm.vcx |
|
|
| |
_ui.vct |
|
|
| |
_ui.vcx |
|
|
| |
_utility.vct |
|
|
| |
_utility.vcx |
|
|
| |
_webview.vct |
|
|
| |
_webview.vcx |
|
|
| |
activex.dep |
|
|
| |
appbldr.h |
|
|
| |
appbldr.prg |
|
|
| |
appbldr.sct |
|
|
| |
appbldr.scx |
|
|
| |
apphook.vct |
|
|
| |
apphook.vcx |
|
|
| |
appwiz.prg |
|
|
| |
appwiz.sct |
|
|
| |
appwiz.scx |
|
|
| |
browser.app |
|
|
| |
builder2.vct |
|
|
| |
builder2.vcx |
|
|
| |
builderd.cdx |
|
|
| |
builderd.dbf |
|
|
| |
builderd.fpt |
|
|
| |
builderd.vct |
|
|
| |
builderd.vcx |
|
|
| |
convert.app |
|
|
| |
coverage.app |
|
|
| |
fd3.fll |
6.0.8161.0 |
6.0.8450.0 |
| |
fdkeywrd.cdx |
|
|
| |
fdkeywrd.dbf |
|
|
| |
foxhhelp.exe |
6.0.8161.0 |
6.0.8450.0 |
| |
foxhhelpps.dll |
6.0.8161.0 |
6.0.8450.0 |
| |
foxisapi.dll |
6.0.8156.0 |
6.0.8450.0 |
| |
foxpro.h |
|
|
| |
fpole.dll |
6.0.8161.0 |
6.0.8450.0 |
| |
fpole.ocx |
6.0.8162.0 |
6.0.8450.0 |
| |
genhtml.prg |
|
|
| |
mdac_typ.exe |
4.71.1015.0 |
21.1.3711.11 |
| |
registry.vct |
|
|
| |
registry.vcx |
|
|
| |
ribuildr.app |
|
|
| |
runcode.prg |
|
|
| |
vfp6.exe |
6.0.8167.0 |
6.0.8492.0 |
| |
vfp6chs.dll |
|
6.0.8492.0 |
| |
vfp6cht.dll |
|
6.0.8492.0 |
| |
vfp6deu.dll |
|
6.0.8492.0 |
| |
vfp6enu.dll |
6.0.8167.0 |
6.0.8492.0 |
| |
vfp6esn.dll |
|
6.0.8492.0 |
| |
vfp6fra.dll |
|
6.0.8492.0 |
| |
vfp6kor.dll |
6.0.8167.0 |
6.0.8492.0 |
| |
vfp6r.dep |
|
|
| |
vfp6r.dll |
6.0.8167.0 |
6.0.8492.0 |
| |
vfp6rchs.dll |
|
6.0.8492.0 |
| |
vfp6rcht.dll |
|
6.0.8492.0 |
| |
vfp6rcze.dll |
|
6.0.8492.0 |
| |
vfp6rdeu.dll |
|
6.0.8492.0 |
| |
vfp6renu.dll |
6.0.8167.0 |
6.0.8492.0 |
| |
vfp6resn.dll |
|
6.0.8492.0 |
| |
vfp6rfra.dll |
|
6.0.8492.0 |
| |
vfp6rkor.dll |
6.0.8167.0 |
6.0.8492.0 |
| |
vfp6rrus.dll |
|
6.0.8492.0 |
| |
vfp6run.exe |
6.0.8167.0 |
6.0.8450.0 |
| |
vfp6t.dll |
|
6.0.8492.0 |
| |
vfpcab.dll |
1.0.0.1 |
1.0.0.2 |
| |
vfpglry.vct |
|
|
| |
vfpglry.vcx |
|
|
| |
vfpsp3.chm |
|
|
| |
wizard.app |
|
|
| |
wizard.dbf |
|
|
| |
wizard.fpt |
|
|
| |
wizbase.vct |
|
|
| |
wizbase.vcx |
|
|
| |
wizbtns.vct |
|
|
| |
wizbtns.vcx |
|
|
| |
www catalog.dbf |
|
|
| |
www catalog.fpt |
|
|
| |
wzform.app |
|
|
| |
wzimport.app |
|
|
| |
wzquery.app |
|
|
| |
wzreport.app |
|
|
| |
wzsetup.app |
|
|
| |
wzupsize.app |
|
|
| |
wzweb.app |
|
|
| |
xsource.zip |
|
|
| Visual InterDev |
bldwizmg.dll |
6.0.0.8159 |
6.0.0.8392 |
| |
button.asp |
|
|
| |
checkbox.asp |
|
|
| |
datagrid.asp |
|
|
| |
dtcrt.dll |
6.0.0.8162 |
6.0.0.8450 |
| |
dtcserv.dll |
6.0.0.8162 |
6.0.0.8450 |
| |
genproj.dll |
7.0.8168.0 |
7.0.8450.0 |
| |
htmed.dll |
6.0.0.8167 |
6.0.0.8428 |
| |
htmedui.dll |
6.0.0.8167 |
6.0.0.8392 |
| |
label.asp |
|
|
| |
listbox.asp |
|
|
| |
mdac_typ.exe |
4.71.1015.0 |
21.1.3711.11 |
| |
mmdtc.dll |
6.0.0.8162 |
6.0.0.8450 |
| |
msde.dll |
6.0.0.3005 |
6.0.84.50 |
| |
optiongrp.asp |
|
|
| |
pdm.dll |
6.0.0.8169 |
6.0.0.8424 |
| |
pm.asp |
|
|
| |
recordset.asp |
|
|
| |
rsnavbar.asp |
|
|
| |
textbox.asp |
|
|
| |
triedit.dll |
6.0.0.8167 |
6.1.0.8243 |
| |
urlpkr.dll |
6.0.0.8159 |
6.0.0.8392 |
| |
viddbpkg.dll |
6.0.0.8161 |
6.0.0.8450 |
| |
viddbui.dll |
6.0.0.8159 |
6.0.0.8450 |
| |
vidisws.dll |
6.0.0.8169 |
6.0.0.8450 |
| |
vidtc1.dll |
6.0.0.8162 |
6.0.0.8450 |
| |
vidwebui.dll |
6.0.0.8159 |
6.0.0.8450 |
| |
viwz1.dll |
2.0.0.8160 |
2.0.0.8421 |
| |
viwz1ui.dll |
6.0.0.8156 |
6.0.0.8450 |
| |
viwzrt.dll |
2.0.0.8160 |
2.0.0.8421 |
| Visual J++ |
appletht.vjp |
|
|
| |
classd.exe |
5.0.2922.0 |
5.0.3176.0 |
| |
classr.exe |
5.0.2922.0 |
5.0.3176.0 |
| |
comcontr.vjp |
|
|
| |
consappl.vjp |
|
|
| |
extwarn.txt |
|
|
| |
jactivex.exe |
5.00.2918 |
5.0.3167.1 |
| |
javah.exe |
|
|
| |
javah.htm |
|
|
| |
javale.dll |
|
6.0.0.8424 |
| |
jni.h |
|
|
| |
jps.dll |
1.3.0.8167 |
1.3.0.8424 |
| |
jvc.exe |
6.0.0.8167 |
6.0.0.8424 |
| |
mdm.exe |
6.0.0.8149 |
6.0.0.8424 |
| |
msdbg.dll |
6.0.0.8146 |
6.0.0.8424 |
| |
msjava.lib |
|
|
| |
msjavx86.exe |
5.0.2922.0 |
5.0.3176.0 |
| |
msjvc.dll |
6.00.8167 |
6.0.0.8424 |
| |
msvj98.dll |
6.1.81.69 |
6.1.84.24 |
| |
msvj98ui.dll |
6.1.81.67 |
6.1.83.49 |
| |
pdm.dll |
6.0.0.8169 |
6.0.0.8424 |
| |
pkginst.exe |
1.0.8173.1 |
1.0.8173.1 |
| |
scriptle.dll |
6.0.0.8156 |
6.0.0.8424 |
| |
signcode.exe |
|
5.101.1671.1 |
| |
signer.dll |
|
5.101.1671.1 |
| |
vjreg.exe |
6.0.0.8167 |
6.0.0.8424 |
| |
wfcdev.cer |
|
|
| |
wfcdev.zip |
|
|
| Visual SourceSafe |
analyze.exe |
6.0.81.69 |
6.0.8383 |
| |
ddconv.exe |
|
|
| |
ddupd.exe |
|
|
| |
ss.exe |
|
|
| |
ssapi.dll |
6.0.81.69 |
6.0.8383 |
| |
ssarc.exe |
6.0.81.69 |
6.0.8383 |
| |
ssgui.dll |
6.0.81.63 |
6.0.8383 |
| |
ssrestor.exe |
6.0.81.69 |
6.0.8383 |
| Visual Studio |
acmsetup.exe |
3.1.0.8043 |
3.1.0.8043 |
| |
autorun.inf |
|
|
| |
eula.txt |
|
|
| |
redist.txt |
|
|
| |
regsvr32.exe |
4.0.1381.0 |
5.0.1641.1 |
| |
regtlib.exe |
|
|
| |
setup.exe |
2.20.903.0 |
6.0.84.50 |
| VSEE Repository |
insrepim.dll |
6.0.8161.0 |
6.10.8253.0 |
| |
repodbc.dll |
6.0.8161.0 |
6.10.9064.4 |
| |
reprc.dll |
6.0.8161.0 |
6.10.8253.0 |