Microsoft KB Archive/176066

{|
 * width="100%"|

-

The information in this article applies to:


 * Microsoft Visual Studio 97 Service Pack 3

-

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SUMMARY
This is a copy of the Visual Studio 97 Service Pack 3 Readme (English language version).

MORE INFORMATION
Microsoft Visual Studio 97 Service Pack 3 Readme

The Microsoft Visual Studio 97 Service Pack 3 Readme contains the following sections:

- Microsoft Visual Studio 97 Service Pack 3 provides an overview of Visual Studio Service Pack 3.

- Installing the Microsoft Visual Studio 97 Service Pack 3 provides installation and setup instructions.

- Notes on Fixes in the Visual Studio 97 Service Pack 3 provides overall information on the fixes and the interactions with other products.

- Finding More Information on Issues Resolved with This Service Pack provides instructions on how to search online for the Knowledge Base articles, and a list of the fixes and their summaries.

Microsoft Visual Studio 97 Service Pack 3 -

The Microsoft Visual Studio 97 Service Pack 3 includes all of the fixes in Service Pack 1 and 2, and upgrades the following Visual Studio applications:

Microsoft Visual Studio 97 (Professional and Enterprise Editions) Microsoft Visual Basic, version 5.0 (Professional and Enterprise Editions) Microsoft Visual C++, version 5.0 (Professional and Enterprise Editions) Microsoft Visual InterDev Microsoft Visual J++, version 1.1 Microsoft Visual SourceSafe, version 5.0 Microsoft Visual FoxPro, version 5.0 Microsoft Developer Network (MSDN) Library

These Visual Studio applications should be shut down before installing this Service Pack. 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.

NOTE: The Visual Studio 97 service packs are not intended for use with the Learning Edition of Visual C++ 5.0.

Installing the Microsoft Visual Studio 97 Service Pack 3

To install the Service Pack, insert the compact disc into your computer's CD-ROM drive. If you have downloaded and decompressed the Service Pack, or if the Service Pack Setup does not automatically launch, go to the root directory of the Service Pack and run Setup. The setup.exe will detect the language of your computer's operating system and run one of the following setups:

\fra\setup (French) \deu\setup (German) \enu\setup (English) \jpn\setup (Japanese) \esp\setup (Spanish) \kor\setup (Korean) \chs\setup (Simplified Chinese) \cht\setup (Traditional Chinese) \ita\setup (Italian)

The Service Pack Setup detects any installed Visual Studio applications and the specific languages those applications use. (Files are checked for language, determined by the operating system settings and the individual file settings.) This Service Pack supports the following languages: Czech, English, French, German, Italian, Japanese, Korean, Portuguese, Russian, Simplified Chinese, Spanish, and Traditional Chinese.

During the installation, the Service Pack displays the files to be installed or updated based on the installed applications detected. After updating your installation of any of the Visual Studio applications, the Service Pack appends any actions to the VS97SP3.log file, which is stored in the root directory of the drive where Windows is installed. If you run the Service Pack again, any additional file updates are appended to the end of the log file.

Determining the Files That Setup Installs -

Setup does not install all the files included in this Service Pack on your computer.

If the file does not exist already on your computer, in most cases Setup will not install an update for it. Setup does not make any entries in the log for files that are not present.

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. The setup log will state "File is up to date" for each file on your computer that is the same version or more recent than what is on the Service Pack.

Some .cab files are included in the Service Pack for redistribution only. Setup does not install them as part of the product update. You must copy them from the compact disc as needed.

Interpreting the Setup Log File ---

Setup will perform one of two actions for each file in its file list. If Setup detects that a file is not installed on your computer and the file is not required, Setup will neither install it nor create a report in the log. Otherwise, Setup will report in the log one of the following conditions for each file in its list:

- "Copied successfully": The file on your computer was successfully updated with the file in Setup's list.

- "Rename on reboot": The file on your computer was in use during the copy process. It will be replaced with the Service Pack copy on the next system reboot.

- "File is up to date": The version information contained in the Service Pack file is the same or older than the file on your computer. (Setup  will also report this message if the date of any file, such as a text   file, that does not have version information, is later than the date of   the Service Pack file.)

All other errors, such as "Access denied" or "The system cannot find the path specified," are the operating system's error messages for a particular problem. These errors indicate that Setup could not update the file.

Updating Files Previously Modified ---

The primary way Setup determines which files to replace is 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 time stamp to determine which files need to be replaced.

If you have altered the time stamp on any of the Visual Studio component text files or files that do not have version information, then Setup may not replace those files. Source files and header files are examples of some files you might have changed. Check the setup log to determine which files have been updated. You must evaluate each of the files that is not updated to determine whether you should use the Service Pack version.

Determining the Update History of the Products Based on File Versions -

To determine which updates have been made since the initial release of a product, you will need to examine the version number in the properties of one or more files.

To determine the update status of a product:

1. Look in the table below to determine which file you want to examine. In  some cases, you may need to examine more than one file to determine fully the product's update history.

2. For each file, right-click the file in Windows Explorer, then click Properties.

3. Click the Versions tab and compare the version listed with the version in the table.

The following table lists the developer tools that shipped in 1997 and have been updated in a Visual Studio 97 Service Pack. It also lists the key files you should check to ascertain version information:

Version on Product     Files        Release     SP1         SP2         SP3

Visual      setupwiz.exe 5.00.3716   5.00.3905   5.00.3905   5.00.3905 Basic 5.0   vb5ide.dll   5.00.3724   ---         5.00.4319   5.00.4511 vba5.dll    5.00.7115   ---         5.00.7717   5.00.7911

Visual      link.exe     5.00.7022   5.02.7132   5.02.7132   5.10.7303 C++ 5.0     eecxx.dll    5.00.7122   ---         5.00.7198   5.00.7198

Visual InterDev 1.0 devisws.pkg 5.00.7022   5.00.7087   No update   No update

Visual      devjava.pkg  5.00.7022   5.00.7128   5.00.7128   5.00.7128 J++ 1.1     devdbg.pkg   5.00.7022   5.00.7128   5.00.7198   5.00.7198 emjav.dll   1.01.7022   ---         ---         1.01.7287

Visual SourceSafe  ssscc.dll    5.00.2218   5.00.2219   5.00.2220   5.00.2222 5.0

Visual FoxPro 5.0  vfp.exe      Build 402   No update   Build 412   Build 415

NOTE: "No update" means that the product has no updates in the Service Pack. Also note that even for updated products, some of the files did not change from one Service Pack to the next.

The InfoViewer tool is used to display online Help for Visual Studio and MSDN. It has also been updated several times. However, files were not changed for Service Pack 3:

Version on Files      Release     MSDN April  SP1         MSDN July   SP2 - ivauto.dll 5.00.7022   5.00.7022   5.00.7055   5.00.7055   5.00.7198 deviv.pkg  5.00.7022   5.00.7022   ---         5.00.7022   5.00.7198

References to Service Pack 2 in Visual Basic 5.0 point to files that were not changed in Service Pack 3.

After you install Visual Studio 97 Service Pack 3, in Visual Basic 5.0 you will encounter many references to Service Pack 2. These references are not bugs. Rather, they indicate that files did not change in this current Service Pack.

Installing the correct version of MFC42.dbg and MSCVCRT.dbg on your computer:

You need the Visual Studio 97 Service Pack 3 version of MFC42.dbg and MSVCRT.dbg to debug dynamically linked retail builds of MFC applications in Visual C++ 5.0. You might not have the correct version of these files if you installed Visual C++ 5.0 at a later date.

To ensure that your computer has the correct version of these files, copy the Service Pack 3 version of MFC42.dbg and MSVCRT.dbg from the \All\VC\Debug directory of the Service Pack compact disc or the expanded image of the Service Pack web download. Place these files in the \Windows\System directory of your Windows 95 computer or the \WinNT\System 32 directory of your Windows NT computer.

Replacing the default version of ATL.dll installed by Visual Studio 97 Service Pack 3:

Setup for Visual Studio 97 Service Pack 3 will install the ANSI version of ATL.dll by default on both Windows NT and Windows 95 computers. On Windows NT computers, you may choose to replace this file with the Unicode version of ATL.dll, also supplied in this Service Pack. To do this, copy the ATL.dll file from the \all\vc\redist\directory of the Service Pack compact disk or from the expanded image of the Service Pack 3 web download, as appropriate.

Updating the Microsoft Developer Network Installation on Your Computer --

Visual Studio 97 Service Pack 3 recognizes previous releases of the MSDN Library, but it will not recognize the October release. The MSDN Library's October release writes an incorrect value to a registry key.

IMPORTANT: If you plan to install or have installed the October release of the MSDN Library, and you plan to install Visual Studio 97 Service Pack 3, perform the following steps before you install the Service Pack.

WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

For information about how to edit the registry, view the "Changing Keys And Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).

1. Click the Start button, then click Run. Type "regedit" to start the Registry Editor, and click OK.

2. Go to the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevStudio\5.0\Products\Microsoft Developer Network. Note that the October MSDN Library creates a  ProductDir value of C:\Program Files\DevStudio\MSDN\BIN\MSDN\BIN.

3. Change the ProductDir value to read C:\Program Files\DevStudio\MSDN\BIN.

4. Close the Registry Editor and run the Service Pack Setup. Verify that there is an entry for "Microsoft Developer Network" in the Installed Products detected dialog box, which appears just after the license agreement.

Uninstalling the Visual Studio 97 Service Pack --

The Service Pack cannot be uninstalled independently of the product tools being updated. To uninstall the Service Pack updates to a Visual Studio 97 tool, such as Visual C++ or Visual Basic, you must uninstall the tool. The Service Pack updates will be uninstalled with it. Then, reinstall the tools without the updates.

Because many interdependent components of the Visual Studio 97 tools are simultaneously updated by the Service Pack, the products may become unstable if you roll back of some of the updates, or if you run Setup in maintenance mode from the original product compact disc. This instability can occur because of the combination of files that are updated and files that are not updated.

To avoid an unstable combination of updated and old files, you must remove all of the Visual Studio 97 tools completely if you want to remove the Service Pack updates or if you want to remove parts of the product. If you had not installed everything in your Visual Studio suite before applying the Service Pack and you now want to add some of the remaining components, make the additions first, then apply the Service Pack.

Notes on Fixes in the Visual Studio Service Pack 3 --

Microsoft Visual Studio 97 Service Pack 3 includes all of the fixes in Service Pack 1 and 2.

Do Not Use the Microsoft Utility RegClean 4.1 with Visual Studio or Any Visual Studio Applications.

If you run RegClean 4.1 (build 97.71), you might find (if you have Visual C++ Enterprise or Visual Basic Enterprise installed) that the Database Designer no longer works, or (if you have Visual InterDev installed) the Database Designer and LinkView tools no longer work. If you have run RegClean, reinstall the Visual Studio applications, as appropriate.

Active Server Pages (ASP) Browser Component Does Not Recognize the Browser --

If you are installing a new release of Microsoft Internet Explorer or Netscape Navigator, the ASP browser component object may not work in Visual Studio. The string identifying the browser may not be present in the browsecap.ini file, which is located on the Web server. The solution is to either manually change the file or download a newer version of the file from the Internet Information Server (IIS) web site.

The version of the browsecap.ini file that currently ships with the Visual InterDev server components does not recognize Microsoft Internet Explorer 3.02 as a valid browser. This results in an error when running an .asp page using the browser component in Microsoft Internet Explorer 3.02.

An updated version of the browsecap.ini file as well as a 1.0b updated version of Active Server Pages is available at: http://www.microsoft.com/iis/. Once there, click the "Get IIS" button and choose "Other free software," then "Updates for IIS." Choose a new compressed or uncompressed browsecap.ini file to download.

A full download of Active Server Pages English 1.0b is available under "Get IIS" as well. The 1.0b English version provides full DBCS enabling and some fixes.

Updates to SQL Server and Visual Database Tools ---

You must download SQL Server Service Pack 2 for working with Visual Database Tools and/or Visual InterDev.

The SQL Server Service Pack 2 is available at: http://www.microsoft.com/sql/ServicePak.htm.

SQL Server Service Pack 2 fixes several issues with the relational engine of Visual Database Tools including:

- A query with two or more RIGHT/LEFT OUTER JOIN clauses resulted in a  syntax error. Now they parse correctly and generate the correct result.

- Some "complex" queries and views with five or more tables would stop the server. This resulted in a TDS Protocol error and a subsequent stop of  Visual Studio. This issue has been corrected.

Visual Database Tools/Visual InterDev still requires, as a minimum, SQL Server Service Pack 1, but installing SQL Server Service Pack 2 is recommended.

Microsoft Internet Explorer Security Options and InfoViewer ---

InfoViewer, the integrated online documentation viewer included with MSDN and Visual Studio, relies on the Microsoft Internet Explorer security settings for active content. The online documentation included with MSDN and Visual Studio includes some active content. If you set your Microsoft Internet Explorer security's maximum security options while browsing the World Wide Web, some types of hyperlinks in your online documentation will not work.

Allowing Microsoft Internet Explorer to download an ActiveX control and then automatically executing the downloaded code is a legitimate security concern. However, you can protect against this problem and still use the online documentation included with MSDN and Visual Studio. To do so, complete the following steps:

1. On the View menu in Microsoft Internet Explorer, click Options.

2. Click Security.

3. Make the following changes under "Active Content:"

a. Clear the "Allow downloading of active content" check box. (This option ensures that no unknown active content will be     downloaded from a World Wide Web site.)

b. Select the "Enable ActiveX controls and plug-ins" check box. (This option enables local ActiveX controls, such as those supplied     with MSDN and InfoViewer, to execute.)

c. Select the "Run ActiveX scripts" check box. (This option allows local     ActiveX scripts to execute.)

4. Click OK.

5. Restart Visual Studio.

Special Instructions for Visual C++ for Microsoft Windows CE

Customers of Visual C++ for Windows CE may experience problems with the Visual Studio family of products. If you want to install any part of the Visual Studio Service Pack, uninstall Visual C++ for Windows CE first. If you encounter any problems using Visual C++ for Windows CE with Visual Studio, call Visual C++ for Windows CE product support. If further information becomes available, it will be posted on the web site for Visual Studio 97 Service Packs (http://www.microsoft.com/vstudio/sp/) and in the Knowledge Base (available on the web at http://support.microsoft.com/support/).

Updating Visual C++ .map Files --

Visual Studio 97 Service Pack 2 updates the following .map files if you installed them in your system or system32 directory with Visual C++ 5.0. If you installed these .map files to a different location, used some derivative of these files, or used the .map files directly from the Visual C++ 5.0 compact disc, you will need to update these files manually or reference them directly from the Service Pack 2 compact disc. You can find the Service Pack 2 updates to these files in the \all\vc\debug directory on the Visual Studio Service 97 Pack 2 compact disc.

Mfc42.map Mfc42d.map Mfc42u.map Mfc42ud.map Mfcd42d.map Mfcn42d.map Mfcn42ud.map Mfco42d.map Mfco42ud.map

Microsoft Transaction Server Updates

This Service Pack does not include any updates to the Microsoft Transaction Server. To gain access to the Microsoft Transaction Server service packs released since it shipped with the Enterprise Editions of Visual Studio 97, Visual Basic 5.0, and Visual C++ 5.0, go to http://www.microsoft.com/support/transaction/. This site contains pointers to Microsoft Transaction Server 1.1 for x86, Service Pack 2 for Digital Alpha, and the Microsoft Transaction Server SDK beta.

InstallShield Express for Japanese Visual C++ 5.0

The additional files required for the custom edition of InstallShield Express that is included with the Japanese release of Visual C++ 5.0 are now available. Please refer to \jpn\IShield\readme.txt for details.

Finding More Information on Issues Resolved with This Service Pack --

The Microsoft Knowledge Base contains articles that provide more in-depth information about the Visual Studio issues that are fixed in this Service Pack. To locate these articles, go to http://support.microsoft.com/support/ and follow the instructions below to build a query.

To build a Visual Studio Service Pack query:

1. Choose a product. (In this case, click "Any Products.") 2. Click on more search options to get choices about how you will search. 3. Specify the type of search. This should be set to "Keyword or Boolean  search." 4. Enter the following as your search phrase:

VS97FixlistSP3

5. Click "Find."

Knowledge Base articles that contain VS97FixlistSP3, but do not contain VS97FixlistSP1 or VS97FixlistSP2, describe fixes that were added in Service Pack 3. Because Service Pack 3 includes all of the fixes in Service Pack 1 and Service Pack 2, all of the articles describing the fixes in Service Pack 1 will contain all three keywords: VS97FixlistSP1, VS97FixlistSP2, and VS97FixlistSP3. Articles describing fixes in Service Pack 2 will contain the VS97FixlistSP1 and VS97FixlistSP2 keywords. To find just those new items that were fixed in Service Pack 3, search for:

VS97FixlistSP3 and not VS97FixlistSP2

For a file containing all of the text from all of the Knowledge Base articles, look on the web site for Visual Studio 97 Service Packs: http://www.microsoft.com/vstudio/sp/.

InfoViewer Knowledge Base Articles --

Service Pack 1 fixes some problems with saving samples to directories that contain high-ASCII characters in the path.

Q168264  Copying Samples to a Dir with High ASCII Stops File I/O Q168265  Error "Microsoft Jscript error" After Copying Sample

Service Pack 2 fixes a bug preventing the download of samples with certain versions of Microsoft Internet Explorer. It also fixes a search results- related performance problem in which Developer Studio sometimes uses 100 percent of idle time. The Service Pack fixes a bug that causes repeated "Merging keywords" for anyone who does not have administrator privileges in Windows NT. It fixes a limitation on the total number of InfoViewer titles.

Q171844  FIX: InfoViewer Cannot Download Samples if IE4.0 is Installed Q171845  FIX: Results List Uses 100% of CPU on Idle Q171846  Limit on the Total Number of InfoViewer Titles Q171847  Merging Keywords for Search Requires Admin Privileges

Visual Basic 5.0 KB Articles

The following is a summary of bug fixes followed by a list of Knowledge Base articles, arranged by Service Pack.

Service Pack 1 addresses problems in dbgrid32.ocx, msrdc20.ocx, and msrdo20.dll related to data-binding and other issues. Also included are fixes for the incompatibility problems with comctl32.ocx. There is also an update to the VB5 Setup Kit and some of the .cab files for the ActiveX component download. These .cab files are not installed by the Visual Studio Service Pack, but are included on the Service Pack compact disc.

Q167122  FindItem Method of ListView Incorrectly Returns an Error Q167123  COMCTL32.OCX Is Binary Incompatible with Previous Version Q167947  ODBC CAB File Does Not Install 16-bit ODBC Files Q167948  Internet Component Download Fails After Using Setup Toolkit Q167950  DAO Internet Component Download Fails to Install

Q167951  AUTMGR32.EXE Fails After Component Download Q168153  DBGrid Bound to RDC Displays a Single Row After MoveLast Q168155  Crash When Resizing Column of Split DBGrid Q168156  DBGrid Bound to RDC Displays Small ResultSets Incorrectly Q168157  Problems Binding Multiple Controls to RDC 2.0

Q168158  Can't Close Resultset if DBGrid Bound to RDC Q168159  DBCombo Updates Incorrectly When Using RDC Bound ListSource Q168160  Error on Update After AddNew With RDC and Bound Controls Q168161  Distributed Transaction Fails On Subsequent Runs Q168162  RDO Move 0 Fails to Refresh Record

Q168163  Memory Leak When Calling UserConnection Query Event Q169302  Get_Item Does Not Return Error When Property Not Found Q169303  Get_Item Doesn't Find Property Defined on Ancestor Iface Q169304  Errors Occur When Getting Property of VB Project: Crashes Q169305  Repository Error after Halting Execution in Break-mode Edit

Q169306  ReComputeRepository GPFs if Passed Non-existent DB Name Q169307  RepUtil:CompactJetRepository Doesn't Work with DSN Name Q169308  CompactJetRepository Only Recognizes Lowercase Jet db Names Q169309  Adding ActiveX Designer/Userconnection Results in Shutdown Q169331  RecomputeRepos: Won't Work with Database Created by UML.DLL

Q169332  Changing Obj Name Before Saving Results in Repository Error Q169333  Engine: Collection Not Updated After Removing an Item Q169334  IRepos::Get_Name Returns Error if Called on a Property Q169335  CDatabase::InsRelshipRow Does Not Release Collection Obj Q169336  Engine Item Method Takes Parameter Type of IntID

Q169337  Unable To Remove a Relationship from Collection with OBJID Q169339  RepUtil.DLL Doesn't Contain Version or Copyright Information

Service Pack 2 updates Visual Basic version 5.0 Professional and Enterprise editions. It enables apartment-model threading for Visual Basic projects that contain user interface elements, such as forms and controls. This apartment-model threading enhancement is explained in vb5sp2.htm (vb5sp2.wri on some systems), which supplements the online documentation you received as part of your licensed copy of Visual Basic.

Service Pack 2 fixes problems with the development environment, the Printer object, the Internet Transfer control, and many of the other controls and libraries that ship with Visual Basic 5.0.

In the development environment, the following issues were resolved: several stability problems, including crashes that sometimes occurred when moving the cursor over the toolbox, when setting the Font properties of multiple controls, and when using the Format menu options to align controls.

For the Printer object: Setting the Printer object to an item in the Printers collection will now switch the default printer. You can now set a user-defined scale mode for the Printer object by changing the ScaleWidth and ScaleHeight properties. Font attributes are no longer lost when calling the NewPage method.

Internet Transfer control: POST now works. Problems with missing or garbled data are fixed. The control no longer converts file names to upper case when sending out a request, thus eliminating reported problems accessing case-sensitive servers.

Visual Basic 5.0 for Service Pack 2 includes a new master dependency file (vb5dep.ini), which is installed in the Setupkit directory. The existing dependency file is renamed ~vb5dep.sp2.

Q166908  ScaleMode for Printer Object Can't Create Custom Scale Q167107  Missing Controls on the SSTAB Control Tabs Q167165  Too Many Controls on a Form May Crash Visual Basic IDE Q167213  Invalid Page Fault When Shutting Down Visual Basic 5.0 Q167346  GPF Occurs When Starting Visual Basic 5.0

Q167706  Internet Transfer Control 5.0 "POST" Request Doesn't Work Q167735  Setting Printer to Item in the Printers Collection Fails Q168290  GPF When Setting Font of Multi-selected Controls Q168744  Printer May Lose Font Attributes Q168766  Internet Transfer Control Fails on Case-Sensitive Server

Q168792  Statusbar Time Panel May Not Update Properly Q171470  Resize Event Not Fired When UserControl Copied and Pasted Q171471  VB-Created Controls Fail to Print with UserControl_Paint Q171472  Toggling PortOpen w/MSCOMM32.OCX Leaks Memory on Win95 Q171473  MCI32.OCX Does Not Save Recorded .WAV Files

Q171474  Path Problems Using Project on Network Server Q171475  RichTextBox Cleared When BorderStyle Changes at Run-Time Q171476  Masked Edit Control Right-Aligned with NT 4.0 SP3 Q171477  Format Menu Options Can Crash Visual Basic 5.0 Q171478  Cannot Set Width/Height of UserControl in Resize Event

Q171479  Mod 0 Causes an IPF or Access Violation Q171480  Setting SelAlignment Property Does Not Affect RichTextBox Q171481  Cannot Set the Enabled Property of an UpDown Control Q171482  Crash When Enum Name Referred to Incorrectly Q171483  Crash When Rebuilding EXE Containing UserControl

Q171484  Code Module Window Displayed Transparently in SDI Q171485  Visual Basic 5.0 Title Bar Paints Incorrectly Q171486  Crash Sometimes Occurs with Cursor over Toolbox Q171487  Crash When Assigning Uninitialized Object to Tag Q171488  Val Function Recognizes System Decimal Symbol

Q171489  Use of Implements and Public Constants Crashes Compiler Q171490  Crash After Toggling Folders in ActiveX EXE Project Q171491  Mouse Button Value Is Always 4 in MouseUp Event of SSTab Q171492  ActiveX Control Incorrectly Reports ScaleWidth/ScaleHeight Q171493  Viewing Property Pages and Exiting Causes Memory Leak

Q171494  MouseUp Event Not Triggered in DblClick w/Comctl32 Q171495  Get Statement Not Working Correctly with Large UDT Q171496  Bad Filename or Number with Get of UDT Q171497  ListView in PictureBox on Tabbed Dialog Disappears Q171498  Screen Turns Black When Compiling

Q171499  IDE Doesn't Show Topics of OCX Help Files Correctly Q171500  ATL Controls Without IPropertyNotifySink Cause IPF in VB5 Q171501  User Control Moves When Width/Height Is Set in Container Q171502  Crash with Watch on UserControl When Stop is Encountered Q171504  Problems Setting PropertyPage Caption Property

Q171505  VB5 IDE Disappears or IPFs When "End" Button Is Pressed Q171506  OLE Drag/Drop of ListView Control Fa Q171507   VB GPFs When Selecting Align/Lefts from the Format Menu Q171508  Add-ins May Cause Menu Corruption When Exiting Visual Basic Q171509  Access Violation on NT4.0 on Multi-line Textbox

Q171510  Setting Font Property Causes Error 438 with RichTextBox Q171511  Controls in Frame/PictureBox Do Not Repaint in Design Mode Q171512  UserControls on Property Pages Do Not Trigger Focus Events Q171513  Cannot Drag a Nested UserControl with Automatic DragMode Q171514  Visual Basic 5.0 Crashes When Shutting Down Forms

Q171515  Crash on Customization of Design Environment Menus Q171516  ActiveX Document DLL Causes GPF When Unloading Modal Form Q171517  Animation Control Prints Incorrectly at Design-Time Q171518  Controls May Not Print When Printing Form at Design Time Q171519  Removing Function Causes Binary Compatibility Error

Q171520  Unable to Set Binary Compatibility with Class Module Q171521  Non-Creatable Class Causes Loss of Binary Compatibility Q171522  Enums in Public Procedures Cause Binary Compatibility Error Q171523  Reference to Missing Member in Enum Definition Causes Crash Q171524  Ambiguous Names Generate Incorrect Error Message

Q171525  ListView Causes IPF When Accessing ColumnHeaders Property Q171526  Setting Enabled=False for TreeView Causes Paint Problems Q171527  Causing a ListView Control to Paint Causes an IPF Q171528  Using "Unload Me" in a Listbox Causes Crash Q171529  Can't Open a Project Group from the Root Directory

Q171530  Crash on Data Tip After Enum Name Changed Q171531  IPF When Changing Project Name With Binary Compatibility Q171532  Crash Stepping Thru Code After Using Locals/Watch Window Q171533  ActiveX EXE Crashes VB5 When Set to Binary Compatibility Q171575  RISC: CByte Doesn't Fail on Negative Values on Native Exe

Q171576  RISC: AddressOf Doesn't Behave Properly in IDE/PCode Exe Q171577  Using Set for ListItem's SubItem Results in GPF Q171795  RDC Error Calling UpdateRow After Resultset.AddNew Q171796  Problems When Running Asynchronous Queries with RDO 2.0 Q171797  VB5 DBCombo May Display Wrong Column for RDC 1.0

Q171798  DBCombo Click Event Fires During Form Load Q171799  RDO May Incorrectly Handle Locking Conflicts in Transaction Q171800  Unexpected Shutdown When Using Bound Controls Q171801  Bound Controls Built in VB5 Do Not Work in VB4 IDE Q171802  Problems Updating Using DBCombo When ListField = DataField

Q171803  Problems Retrieving VB 5.0 Projects from Visual SourceSafe Q171804  Change Event Not Fired When Selecting an Item in DBCombo Q171805  Problems Binding Controls To Nonexistent Data Control Q171806  Memory Leak When RDC Bound to OLE Container Control Q171807  Selected Tab Changes After Removing Tab in Tabstrip

Q171808  MDI Child Form Does Not Become Active Q171809  Memory Leak When Setting the ForeColor of a VB5 Object Q171810  Invoking the Visual Component Manager Asserts in Exutil Q171811  Cannot See Relationship Collection on an Interface with Tab Q171812  Run-Time Error When DataObject Passed As Object

Q171813  IPF in MSO97RT.DLL When Starting Visual Basic Q171814  System Menu Appears When MouseDown Event Invokes a Drag Q171815  Printer.TextWidth Returning Inconsistent Results in IDE Q171816  IPF Opening or Saving Form with Tab Cont Q171817  UserControl Cannot Read ContainedControls in Visual FoxPro

Q171818  IDE Crashes When Repeatedly Placing a Control on a Form Q171819  Invalid Enum Value Causes Incompatible Binary Compatible Q171820  ListView ListItems Don't Refresh When ColumnHeaders Cleared Q171821  Memory Leak When Repeatedly Changing Toolbar Button Width Q171822  Adding a Routine to UserControl in Break Mode Causes Crash

Q171823  Application Error When Using Implements on Hyperlink Object Q171824  Crash in INET Control Downloading Page Multiple Times Q171825  Tabbing Problems Using ActiveX Document in a Frame Q171826  Tabbing Problems with Controls Contained with Controls Q171827  Printing Userdrawn Usercontrol in IE Doesn't Work

Q171828  Using OpenURL Doesn't Download Complete Files Q171829  GetChunk Freezes Unless Other Events Happening Q171830  ActiveX Document Menu Changing Places Q171831  IObjectSafety Implemented in Toolbar and CmDialog Controls Q171832  Statement Builder Can Cause the Object Browser to Crash

Q171833  Statement Builder Crashes Referencing GlobalMultiUse Server Q171834  Crash When UserControl Accesses Members of ParentControls Q171835  Crash When Viewing Data Tips on ParamArray Q171836  Crash When Viewing API Properties in Object Browser Q171837  Run-Time Error 6 "Overflow When Compiled to Native Code"

Q171838  Crash Compiling Native Code for Assignment of Variant Array Q171839  Crash When Compiling a Call to a UserControl Function Q171840  Corrupt Project Error Opening One Project After Another Q171841  Dragging Multiple Controls on a Form May Cause Crash Q171842  GetSetting Function Is Leaking Handles

Q171843  Winsock Control Leaks Memory When Unloaded

Service Pack 3 addresses compatibility issues with the Internet Transfer, Data Bound Grid, Data Bound List, and Data Bound Combo controls. The Service Pack also fixes a problem where Visual Basic compiles incorrect type information.

Q171537  Bad Error Number Returned If Relationship Doesn't Exist Q171538  Can't Set Property on Interface That Has Attached Root Q171539  TypeDef Model Doesn't Have Propagate Delete on Relationship Q171544  Engine: Collection Object Does Not Access Correctly by Name Q171545  Error 438 When Using CreateInterface's Optional Default Flag

Q171546  VB4 Apps with Unbound DBGrid Fail with VB5 DBGrid Q171547  New DBGrid32.OCX Breaks VB4 Apps that Use VB4 Version Q171548  Binary Compatible Server Causes VB to Hang in the IDE Q171549  Cached Class Factorys Can Be Released by Illegal Thread Q171550  Recompiling with SP2 Breaks Binary Compatibility

Q171551  32-Bit DBList/DBCombo May Exhibit Problems When Locked Q174835  Internet Transfer Control Using Username and Password Q174836  Problems Shutting Down When Using the Inet Control

Visual C++ Knowledge Base Articles --

The following is a list of feature areas followed by a list of Knowledge Base articles and the Service Pack in which they were fixed.

The fixes for the Active Template Library (ATL) shown below address the most commonly reported issues: MBCS compatibility, container compatibility issues, and internal coding errors in ATL.

SP1: Q167340  ATL Control Causes Access Violation in Visual Basic 5.0 Q167526  ATL Control May Cause An Access Violation Q167949  OnWindowMessage Returns BOOL for HRESULT

SP2: None

SP3: Q174635  _variant_t::operator |Unknown* Fails to AddRef Interface

The compiler fixes shown below address the most commonly reported COM issues, including support for VB-created controls, smart pointers, and reference counting; several code generation problems with global optimizations (/Og) and floating point optimizations; and fixes to templates.

A few global optimization fixes were implemented, but they were too large to document in Knowledge Base articles.

SP1: Q151491  copy Member of bstrt in COMUTL.H Doesn't Copy Q151499  Compiler Performs Illegal Sign Conversion Optimization Q151500  /Og Causes vfptr Initialization Problems Q166282  C2440 Caused by Template Function with Const Pointer Q166718  C1001 from Conditional Operator in Initializer

Q166721  C2784 On < Operator When Instantiating an ATL Container Q167967  /Og Increments the Index of a Loop Too Soon. Q167995  Calling a Function Returning double May Not pop FPU Stack Q167996  /Og Causes Invalid Double Result Returned from Function Q168003  Function Prototypes in comutil.h Missing Calling Convention

Q168008  C2166: Incorrect Type Deduction for Template Parameter Q168009   Smartptr Property in Interface Causes C2512 Error Q168010  /Od May Generate Destructor for Unconstructed Temp Object Q168011  C1001, file 'fppeeps.c', line 394, Caused By /Og Q168012  Incorrect Code Generated When Using Floating-Point and /Og

Q168028  C2955: Caused By the "using" Declaration Q168029  Global Optimizations (/Og) May Cause the Compiler to Hang Q168079  _com_ptr_t::operator=(const _variant_t&) AddRefs Twice Q168111  #import Does Not Compensate for Gaps in vtable

SP2: None.

SP3: Q155292  Destructor Not Called When DEBUG_NEW is Defined Q167347  /Og Causes C1001, main.c, line 379 for Recursive Call Q168957  C1001, file 'msc1.cpp', line 1188, Caused by Name Hiding Q171543  _getmbp CRT Function Does Not Return the Correct Value Q172609  /GX May Cause C1001 When Using Base Class' Operator Delete

Q172980  Compiler Incorrectly Causes Default Constructor Reference Q172985  Out of Order Definitions in idl May Cause Compiler Errors Q172992  /Og Causes C1001 While Looping Q173025  /Og Causes C1001 with Member Lookup in an Infinite Loop Q173092  /Og Causes C1001 Traversing Nontrivial List of Pointers

Q173645  Access Violation in MSDAER.DLL with _com_error Exceptions Q174891  CComQlPtr operator= Causes an Access Violation

The following SP1 articles cover some fixes applied to the SP3 compiler. Note  Some SP3 issues fall under the scope of existing Knowledge Base articles, and a few issues have test cases that were too large to document in a Knowledge Base article.

Q168012  Incorrect Code Generated When Using Floating-Point and /Og Q168029  Global Optimizations (/Og) May Cause the Compiler to Hang

The fixes for the linker and other tools include a linker fix correcting a reported problem that ICF (Identical COMDAT Folding) was causing severe build-time losses. The fix also removes limits being imposed on the size of an executable file and raises the maximum size of the .ilk file used by the linker to 64 megabytes (MB).

SP1: Q151501  Linking Large Projects Can Be Very Slow Q167994  Cvpack INTERNAL ERROR When Linking Large Projects

SP2: None.

SP3: None.

The fixes for the Microsoft Foundation Classes (MFC) listed below deal with the most commonly reported issues that prevent binary compatibility with MFC 4.2 (shipped with Visual C++ 4.2). Fixes affect DAO, CToolTips, MFC42 def files, and schema deserialization. The issues include unintended dependencies on the latest comctl32.dll, the 3.0 version of odbc32.dll, threading issues, and internal coding errors in MFC.

SP1: Q164813  Web Browser Control Hangs in CFormView Q167423  CRecordset Members Not in "Add Member Variable" Dialog Box Q167650  Problems with ToolTips on Windows 95 Q167692  Assertion Line 257 in File DlgProp.cpp Q167693  MFC Application Hangs on Multiprocessor Machine

Q167731  Access Violation When Connecting in MFC ODBC Application Q168004  "Unable to Initialize DAO/Jet db Engine" Error Q169484  CString::MakeUpper and MakeLower Don't Work with Some Char

SP2: None.

SP3: Q170257  CRecordset::AddNew Inserts 32484 into int Fields (RFX_INT) Q171316  Setting a Default Value Using CreateField Gives Wrong Value Q172276  CToolTipCtrl Does Not Display Text After Installing VS SP1 Q172405  "Unhandled exception" in MFC DAO App After VC++ 5.0 SP1 Q173252  CArchive::GetObjectSchema Returns Incorrect Schema

Q174403  Unresolved Externals When Building MFC42 and MFCD42xD

The following are debugger fixes. The debugger now evaluates compiler- generated strings longer than 128 characters (this usually takes place when you are debugging templates, such as STL) without encountering an access violation. Also, the debugger now starts smoothly in configurations that have Visual Test and Visual C++ integrated.

SP1: Q168007  Remote Debugging Very Slow in Visual C++ Version 5.0

SP2: Q171848  Source Control Info Not Preserved During Project Conversion Q171849  Debugger Hangs When Very Long STL Symbol in  Watch Window

SP3: None.

In the development environment, the Service Packs fixed problems that caused the environment to fail, and a ClassWizard issue in the VC ++ German version.

SP1: Q165792  MSDEV.EXE Application Error When Building an Application Q166285  MSDEV Crashes When Converting VC++ 4.0 Projects Q167423  CRecordset Members Not in "Add Member Variable" Dialog Box Q167845  Class Wizard Deletes Source Files

SP2: None.

SP3: Q174809  Developer Studio Crashes Randomly When Navigating Workspace Q171542  Menus on Wrong Monitor with Multi-monitor Configuration

Visual Database Tools Knowledge Base Articles -

Q168295  Updating Single Row Replaces Data in All Rows of a Cursor

Visual FoxPro Knowledge Base Articles -

Service Pack 2 fixes the access violation error problem when running a form with a grid repeatedly under Windows NT 4.0. OLE automation with Word 97 issues have been addressed. Some of the report printing and preview problems under Windows NT also have been fixed.

Q156322  RETURN TO Procedurename Command Doesn't Work in Forms Q156788  Report Print Preview Illegible Under Windows NT Q168277   Access Violation Running Form With Grid Repeatedly on NT 4 Q168523  Report Fails When Printing Under Windows NT 4.0 Q169565  Type Mismatch Using OLE Automation to Word 97

Service Pack 2 fixes the Anomaly Tracking System (ATS) so that it does not display the 'Option under construction' message when action items are selected.

Q168193  'Option under construction' Message Appears in ATS

The version of Visual FoxPro that ships with Visual Studio 97 Service Pack 3 fixes a memory leak, certain display and printing problems, an IME issue (in the DBCS versions only), a relative pathing problem with directory manipulation functions ("..." issues), and an incompatibility with Microsoft Internet Explorer 4.0.

Q166377  Report Designer Changes Font from Wingdings to Default Font Q171540  VFP Disappears if Project Under SCC Is Opened and Closed Q171553  VFP May Crash While Running MS Web Browser Control Q172346  Unable to Disable IME Box in a Grid at Runtime Q173237  Barcode Font Does Not Display or Print Correctly

Q174244  RESTORE SCREEN Causes Memory Leak in Visual FoxPro 5.0

Visual InterDev Knowledge Base Articles ---

Service Pack 1 fixes various wizard problems. The Service Pack also fixes a bug that destroys data in situations when the FrontPage editor, which comes with Visual InterDev, is used.

Q165834  Can't Set Permissions Back to Root Web Permissions Q167267  New Devisws.pkg for 0-Byte File Save Problem Q167836  DataForm Wizard Not Sizing Column Width Properly for DBCS Q167846  Reserved Error When Running DataForm Wizard Against Access Q168269  MSWC BrowserType Control Does Not Recognize IE 3.02

Q168270  Update Error When Updating Sybase Table from ASP Q168271  Sybase Cursor Can't Scroll Back in DF Wizard Created Form Q168272  GPF When Refreshing a Project Containing Sybase Connection Q168273  Invalid Operation When Deleting the End Sybase Record Q168274  GPF When Selecting .ALX Files in Template Wizard

Q168275  Corrupted Dialog Titles in Japanese Version Q168296  GPF When Expanding Links in Japanese Version of VI Q168297   Data Connection Icons Not Displayed for global.asa

Visual J++ Knowledge Base Articles --

Service Pack 1 contains fixes that will enable customers to debug Java applets running on Microsoft Internet Explorer 4.0 (but not on Microsoft Internet Explorer 4.0 Preview Release 1). If you are running Microsoft Internet Explorer 4.0 Preview Release 1, you should upgrade to Microsoft Internet Explorer 4.0 Final Version, which is available now on the web site http://www.microsoft.com/ie/ie40. For multiprocessor machines, Service Pack 1 fixes a scenario that resulted in a fault. It also fixes an isolated case in which ClassView did not display any information.

Q167719  JavaTLB Gives an Internal Compiler Error with VBCCE Control Q167720  Saving Java File on Multiprocessor Machine Crashes MSDEV Q167828  Cannot Access the ClassView Information File Error Q167998  Cannot Debug Visual J++ Programs on IE 4.0 Pre-Release

See Visual C++ Knowledge Base Articles for Service Pack 2 fixes that may affect Visual J++ users.

Service Pack 3 fixes a debugger problem so that Developer Studio does not crash when the user clicks the X button to close Microsoft Internet Explorer 4.0.

Q171541  Visual J++ Debugger Crashes in EMJAV DLL

Visual SourceSafe Knowledge Base Articles -

Service Pack 1 contains five fixes for Visual SourceSafe: the deployment of files placed in the parent directory to a UNIX Server; movement of random characters to the end of the file after SourceSafe editor is used; incomplete check in of files in Visual Basic or Visual C++ when keyword expansion is enabled; corruption of Rights.dat after adding rights by project; and slowdown of analyze and appearance of hanging on large databases.

Q165776  Admin Cannot See Files with Project Security Enabled Q166469  Multiple Check In Fails with Keyword Expansion Q167273  VSS Editor/Viewer Removing or Replacing Characters Q167274  Analyze May Hang or Crash When Running on Large Databases Q167737  Deploy to a Unix Server Via FTP Fails

Service Pack 2 contains Visual SourceSafe fixes for a memory leak in the Visual Studio integration, and an access violation in Analyze (a developer tools integration issue where files like Status.dat are needlessly kept open).

Q171534  Source Code Control Integration Holds .dat Files Open Q171535  ANALYZE Application Error When Directory Not Found

Service Pack 3 contains fixes for Visual SourceSafe's Explorer and Archive/Restore utilities. Also, this Service Pack adds features that eliminate integration problems and enhance operations in the integrated environments.

Q172337  SSARC & SSRESTOR Do Not Store Macintosh Resource Fork Data Q174873  Lost Net Connection Causes Source Code Control to Hang Q174874  Branched Files Restored to New Database Causes Corruption Q174875  Bogus "File is exclusively checked out" Error Q174876  Invalid DOS Path to SSADMIUN.INI on Unix

Q174877  Selecting a File in SourceSafe Explorer Causes Refresh Q174878  Large Buttons When Resetting Toolbar Q174879  Incorrect Syntax on Keywords May Delete Text