				 README.TXT

   Release Notes for Microsoft (R) Visual Basic (TM) Professional Edition

				Version 2.00

		  (C) Copyright Microsoft Corporation, 1992

This document contains release notes for Microsoft Visual Basic for Windows
Professional Edition version 2.0. Information in this document is more
current than that in the manuals or online Help.

     ********************************************************************
     Read Part 1 - Software Installation Information - before installing.
     ********************************************************************

========
Contents
========

Part    Description
----    -----------
 1      Software Installation Information

 2      Notes and Tips

 3      Notes for Microsoft Visual Basic "Language Reference"

 4      Notes for Microsoft Visual Basic "Programmer's Guide"

 5      Updated Information

 6      Custom Controls

 7      Help Compiler

 8      ODBC Information


Part 1: Software Installation Information
=========================================

Before installing Visual Basic 2.0 Professional Edition, you should make
backup copies of all the distribution disks.  Do not write-protect the
distribution disks you use to install Visual Basic.  If you do, Visual
Basic cannot be successfully installed.

SETUP.EXE is a Windows application; that is, it is run from Windows rather
than from the MS-DOS prompt.  SETUP.EXE will only run in Windows Standard or
Enhanced mode.  It will not run in Real mode.  You can determine how Windows
is configured on your computer by choosing About from the Help menu in the
Program Manager.

To install Visual Basic 2.0 Professional, use Program Manager or File
Manager to start SETUP.EXE as you would any other Windows-based
application.  For example, if you are installing from drive A:

	- From the Program Manager File menu, choose Run.

	- In the Run dialog box, type A:SETUP and choose OK.

	Or

	- From the File Manager, double-click on the SETUP.EXE file icon
	  on drive A.

Most of the files on these disks are compressed and must be expanded before
they can be used.  For Visual Basic to work properly, you must install the
files using SETUP.EXE.  You cannot simply copy the files to your hard disk.

If you want to install Visual Basic 2.0 Professional Edition in a directory
other than where you've installed Visual Basic 1.0, you should specify this
on the Installation Location screen.  If you install Visual Basic 2.0
Professional Edition in the same directory as Visual Basic 1.0, most of the
program, sample, icon, and tutorial files will be updated.

During setup, Visual Basic installs the custom controls GRID.VBX and
OLECLIEN.VBX into your Windows system directory.  If you have custom
controls with the same name as the custom controls included with Visual
Basic 2.0, and these controls are not the same GRID.VBX and OLECLIEN.VBX as
were distributed with the Microsoft Professional Toolkit for Visual Basic
1.0, then Visual Basic installs GRID.VBX and OLECLIEN.VBX in your Visual
Basic directory.

The WINHELP.EXE and COMMDLG.DLL files included with Visual Basic 2.0 are
the latest English versions of these files.  They will upgrade an older
version, regardless of the language (e.g., French and German) of the older
version.

IMPORTANT INFORMATION ABOUT ODBC INSTALLATION
---------------------------------------------
After installing Visual Basic Professional, in order to install ODBC
functionality you must run the setup ODBC program from the end of the
Visual Basic Professional setup, or from the ODBC setup icon, or from
setup in the \VB\ODBC subdirectory. Follow the instructions from the setup
program and refer to the ODBC setup documentation in your documentation
set.  ODBC Setup is a Windows program and should be run from within
Windows.


Part 2 : Notes and Tips
=======================

Using Command-Line Options
--------------------------
Visual Basic can be started using command line options.  The syntax is:

VB [[/R[UN] filename] [/C[MD] commandline]]|[/M[AKE] projname[.mak] [exename]]

Option     Explanation
---------------------------------------------------------------------
/RUN       Runs the application specified by filename.

/CMD       Allows you to input a command-line argument that you can later
	   use via the Command function. See online Help for more
	   information.

/MAK       Loads the project named in projname and executes the Make .EXE
	   command from the File menu to create an executable file
	   whose name is provided as exename. See the "Microsoft Visual
	   Basic "Programmer's Guide" for more information.

The filename parameter to the /RUN option must have a .MAK extension if it
is to be treated as a project file.  Any file with a different extension
will be loaded as either a form or module into a new project.

Copying Icons to the Clipboard
------------------------------
To copy an icon (.ICO file) from a picture box to the Clipboard, you must
set its AutoRedraw property to True, and copy its Image property to the
Clipboard by specifying the CF_BITMAP format in the SetData method.

Limit on Size of MultiLine Text Boxes
-------------------------------------
The Text property of text box with MultiLine = True is limited to
approximately 30K of text, while the limit is 32K if MultiLine = False.

Setting the Visible Property of Modal Forms to False
----------------------------------------------------
If you set the Visible property of a modal form to False, the form becomes
a modeless form. If you need to return a form to a modal state after hiding
it, use formid.Show 1 instead of formid.Visible = True.

Shortcut Keys Interrupting the "Learning Microsoft Visual Basic" Lessons
------------------------------------------------------------------------
"Learning Microsoft Visual Basic" uses shortcut keys for accessing property
settings in the Properties window. These keys may conflict with Shortcut
keys you have set for making another Windows application active (set in the
Program Manager Item Properties dialog.)  Specifically, Ctrl+Shift+H, W, L,
T, N, C, and V are used by Learning Visual Basic. If you have these key
combinations as Shortcut keys for other Windows-based applications, you may
accidentally activate these applications while running "Learning Visual
Basic" is running.

Limit on Number of Objects per Application
------------------------------------------
There is a limit of 512 distinct objects in an application. Visual Basic
uses 80 of these for global objects, data types, and standard controls.
Thus, your application can have up to 432 form types or control classes.
Each custom control class and form type that you create for your
application is included in this limit. Each form uses one object and each
custom control uses two.  Note that custom controls may have multiple control
classes in one .VBX file.  This corrects the documentation in Appendix D,
"Specifications and Limitations" in the "Programmers Guide."

Creating Toolbars or Status Bars with Borders on Top or Bottom
--------------------------------------------------------------
Setting BorderStyle to 1 - Fixed Single creates a border on all four sides
of an aligned picture box. If you want to create a toolbar or status bar
with borders on only the top or bottom, set BorderStyle to 0 - None. Then,
write code in the Picture_Resize event to create a line each time a
form is shown or resized.  Either place a line control in the picture box
and reset the X1, X2, Y1, and Y2 properties, or include the Line statement.
For example:

Picture1.Line (0, Picture1.Height) - (Picture1.Width, Picture1.Height)

OLE Client Custom Control Error Messages
-----------------------------------------
The following error messages correct and add to those contained in the
"Language Reference."

31005           Object closed
31006           Can't close
31007           Can't paste
31008           Invalid property value
31009           Object not empty
31010           Property is read-only
31011           Type of object cannot be created
31012           No object name
31013           No document
31014           This action is reserved for future use
31015           Cannot execute object
31016           Server class was not specified before the registration
		database was accessed
31017           Invalid format on set data or set data text
31018           Server Class is not set
31019           Source document is not set
31020           Source item is not set

Closing Help Files
------------------
The code to close a Visual Basic application's Help file when the
application concludes is as follows:

Declare Function WinHelp Lib "user.exe" (ByVal hWnd As Integer, ByVal
helpfilename$, ByVal hCommand As Integer, ByVal ddata As Long) As Integer

Sub Form_Unload (Cancel As Integer)
    Const HELP_QUIT = 2
    ErrCode% = WinHelp(Form1.hWnd, app.HelpFile, HELP_QUIT, 0)
End Sub

Creating Single-Column or Single-Row Grids
------------------------------------------
To create a single-column or single-row grid where the column or row is not
fixed, you must set the appropriate Col and FixedCol properties at run time.

Naming Conflicts
----------------
Do not name any control "Line" or "Timer" as you will be unable to
access its properties. The prohibited names conflict with the names of the
Line method and Timer function respectively.

Picture formats accepted by DDE client Picture controls
--------------------------------------------------------
In Windows version 3.1 and above, picture controls acting as
clients in a DDE conversation will accept CF_METAFILE,
CF_BITMAP, and CF_DIB format graphics. In Windows version 3.0,
DDE client Picture controls will accept only CF_BITMAP and
CF_DIB format graphics.

Implicit Methods for Custom Controls
------------------------------------
There are methods that apply to controls and forms which are not exposed
via the VBM_METHOD interface. Custom controls have no way of altering,
supplementing, or removing these methods when invoked on instances of the
custom control. Examples of these methods are PrintForm, Refresh,
LinkPoke, LinkRequest, LinkExecute, and SetFocus. The LinkPoke, LinkRequest,
and LinkExecute methods apply only to controls with standard DDE
properties; SetFocus applies only to controls with MODEL_fFocusOk.

Specifying the Size Property of a Field Object
----------------------------------------------
When specifying the Size property of a field object that you are creating,
you should use the length of the corresponding Visual Basic data type.
Visual Basic only allows you to create fields using the sizes of the Visual
Basic data types.  For instance, if you are creating a Currency field, you
should create a field of eight bytes.  If you are copying one field to
another, use the setting of the Type property of the source field to
determine the type, and hence the size, of the destination field.


Part 3 : Notes for Microsoft Visual Basic "Language Reference"
==============================================================

Page    Section\Note
--------------------
82      DateValue Function

	Change the last sentence in the second paragraph of the Remarks
	section as follows:

	"For example, in addition to recognizing 12/30/1991 and 12/30/91,
	DateValue recognizes December 30, 1991 and Dec 30, 1991.

320     Print Method

	In the description of expressionlist at the top of the page, the
	term "text expression" should read "string expression".

386     Shell Function

	Change the second sentence in the description of commandstring as
	follows:

	"If the program name in commandstring does not include .BAT, .COM,
	.EXE, or .PIF extension, .EXE is assumed."

489     Not Operator

	See online Help for more current information.

None    Me Keyword

	The Me keyword is not documented in the "Language Reference." See
	online Help for complete information.


Part 4: Notes for Microsoft Visual Basic "Programmer's Guide"
=============================================================

Page    Section\Note
----    ------------
  4     Visual Basic Documentation

	In the second bullet list item, replace "eight" with "seven".

  6     Using Online Documentation

	In the second sentence, replace "eight" with "seven".

  8     Figure 1.2 The Contents Screen

	This illustration does not depict the actual Contents screen.

 15     Starting Visual Basic

	In the second table item, under "Menu equivalent," change to read,
	"Start command on the Run menu".

 19     Setting Properties

	In the second paragraph of step 3, change "Clicking the DOWN ARROW
	key at the right ..." to "Clicking the down arrow at the right ..."

 23     Simple Animation

	In the Setting column of the table, change "(White)" to "(Black)".

	In the paragraph following the table, change "... and the BackColor
	property to 0 (Black)" to "... and the BackColor property to
	black"

201     Identifying the Current Mode

	In the paragraph at the bottom of the page, the phrase after the
	semicolon should read, "the unavailable buttons appear dimmed on
	the toolbar."

210     Using the Calls Dialog

	Remove the ")" from the end of step 1.

216     Editing or Deleting a Watch Expression

	In the numbered list at the top of the page, remove the "(s)" from
	the word "expression" in the second step.

220     Assigning Values to Variables and Properties

	In the paragraph following the three lines of example statements,
	change to read, "The first statement alters a property of the
	currently active form, the second alters a property of the VScroll1
	control, and the third assigns a value to a variable."

227     How to Handle Errors

	The list of steps is incorrectly numbered.  The paragraph now
	numbered 2 should not be numbered.  Remove the number 2 from that
	paragraph.  Then replace the 3 in the following paragraph with 2 and
	replace 4 in the last paragraph with 3.

229     Exiting an Error-Handling Routine

	In the table that describes ways to exit an error-handling
	routine, make the following changes:

	Replace the Resume entry with:

	Resume (0)    Program execution resumes with the statement that
		      caused the error or the most recently executed call
		      out of the procedure containing the error-handling
		      routine.

	Change the Resume Next entry by removing the period at the end of
	the sentence and adding "or with the statement immediately
	following the most recently executed call out of the procedure
	containing the error-handling routine."

	Change the Resume line by removing the period at the end of the
	sentence and adding, "that must be in the same procedure as the
	error handler."

234     Change the note at the bottom of the page as follows:

	Remove everything after the first sentence.  Add the following:

	If a Resume statement is executed, control returns to the most
	recently executed call out of the procedure containing the
	error handler.  If a Resume Next statement is executed, control
	returns to whatever statement in the procedure containing the
	error-handling routine immediately follows the most recently
	executed call out of that procedure.  For example, in the Calls
	list shown in Figure 10.3, if procedure A has an enabled error
	handler and Procedure B and C don't, an error occurring in
	Procedure C will be handled by Procedure A's error handler.  If
	that error handler uses a Resume statement, upon exit, the program
	continues with a call to Procedure B.  However, if Procedure A's
	error handler uses a Resume Next statement, upon exit, the program
	will continue with whatever statement in Procedure A follows the
	call to Procedure B.  In neither case does the error handler return
	directly to either the procedure or the statement where the error
	originally occurred.

420     The Directory List Box

	In the code at the bottom of the page, change the first line as
	follows:

	GoHigher = 0     ' Initialize for currently expanded directory.
	
421     The File List Box

	Change the first paragraph as follows:

	"The file list box displays files contained in the directory
	specified by the Path property at run time.  You can display all
	the files in the current directory on the current drive using the
	following statement:"

	The paragraph that begins, "If you set the System property..."
	may be misleading. The following additional information is provided
	to clarify meaning.

	The default value for the System and Hidden properties is False.
	The default value for the Normal, Archive, and ReadOnly properties
	is True.

	When Normal = True, any file that does not have the System or
	Hidden attribute is displayed.  When Normal = False, you can still
	display files with ReadOnly and/or Archive attributes by setting
	the appropriate attribute to True (i.e., ReadOnly = True,
	Archive = True).
	
	When System = True, any file with the System attribute is displayed
	unless it also has the Hidden attribute.

	When Hidden = True, any file with the Hidden attribute is displayed
	unless it also has the System attribute.

	To display any file that has both Hidden and System among its
	attributes, both Hidden and System must be True.  However, files
	having either Hidden or System attributes will be displayed as well.

424     Writing Code for the WinSeek Application

	In the second paragraph, change the first sentence as follows:

	"The WinSeek application resolves this ambiguity by determining if
	the path of the dirList box is different from the currently
	highlighted directory."

425     The cmdSearch_Click Procedure

	In the sample code shown, change the If statement as follows:

	If dirList.Path <> dirList.List (dirList.ListIndex) Then

482     Change the last sentence in the paragraph at the top of the page
	as follows:

	"When the user activates the object (the graph), the server
	application (MS Graph) is invoked by the client application (Visual
	Basic), and the object's data is opened for editing."


Part 5: Updated Information
===========================

Online Resource Information
---------------------------
The WIN30API.TXT and WIN31EXT.TXT files are ASCII text files containing the
functions and constants in the Microsoft Windows 3.0 and 3.1 API, declared
in the format used by Microsoft Visual Basic.

They include: 
- External procedure declarations for all the Microsoft Windows API
  functions that can be called from Visual Basic.

- Global constant declarations for all the constants used by the Microsoft
  Windows API.

- Type declarations for the user-defined types (structures) used by the
  Microsoft Windows API.

WIN30API.TXT is too large for the Notepad editor supplied with Microsoft
Windows, but it can be loaded by Microsoft Word.  To use WIN30API.TXT, load
it into an editor (such as Microsoft Word) that can handle large files.
Copy the declarations you want and paste them into any module in your
Visual Basic application.

The file WIN31API.HLP contains the WIN30API.TXT and WIN31EXT.TXT file
declarations in help file format.  Use this file to easily cut and paste
declarations into your Visual Basic 2.0 programs.

NOTE: Some of the Windows API declarations are very long.  Some editors
      will wrap these onto a second line, and will copy them as multiple
      lines rather than as a single line.  Declarations in Visual Basic
      cannot span lines, so if you paste these as multiple lines Visual
      Basic reports an error.  If this happens, you can either adjust the
      margins in the editor before copying, or remove the line break after
      pasting.

You can place the declarations that you copy from the WIN31API.HLP file in
the Declarations section of any form or module. You can also place the
constant declarations anywhere in any form or module if you remove the
Global keyword.

Once you have pasted the declaration for a Windows API routine (as well as
any associated constant and type declarations) into your application, you
can call that routine as you would call any Visual Basic procedure.

WARNING: Visual Basic cannot verify the data you pass to Microsoft Windows
API routines. Calling a Microsoft Windows API routine with an invalid
argument can result in unpredictable behavior - your application, Visual
Basic, or Windows could crash or hang.  When experimenting with Windows API
routines, save your work often.

The WIN31WH.HLP file contains complete reference information for the
functions, messages, and data structures in the Microsoft Windows 3.1
API.  This is the same file that is shipped with the Microsoft Windows
Software Development Kit.  Open it by double-clicking the WIN SDK Help
icon in the Visual Basic group in the Windows Program Manager.
	
WIN31WH.HLP provides detailed information about each of the functions,
messages, and data structures in the Microsoft Windows API.
  
Installing Online Resource Files
--------------------------------
WINSDK.HLP, APIXREF.HLP, and WINAPI.TXT are old versions of Windows 3.0 API
support files that were included with the Visual Basic 1.0 Professional
Toolkit.  These files are not deleted when you install Visual Basic
2.0, but you may want to delete them yourself.  The installed files
WIN31WH.HLP, WIN30API.TXT, WIN31EXT.TXT, and WIN31API.HLP are replacements
for the older files.


Part 6: Custom Control Reference
================================

Installing Custom Controls
--------------------------
Visual Basic 2.0 installs custom controls in the Windows system directory.
If you previously installed the Visual Basic 1.0 Professional Toolkit, you
may have old versions of controls in the \VB\VBX directory.  You should
remove any older versions of controls you may have on your machine.

VB.LIC
------
Please make sure that the copy of VB.LIC in the \windows\system directory
is the only one on your computer.  Otherwise, you may encounter problems
loading the new custom controls.

If an older VB.LIC is being used, or you have a missing or incorrectly
installed VB.LIC file, the following message appears when you try to add
the custom control file to your project:

 "License file for custom control not found.  You do not have an
  appropriate license to use this custom control in the design
  environment."

Animated Button (ANIBUTON.VBX) Update
-------------------------------------
"Value" is the default value of the control.

Unlike the standard command button, when you press [Enter] on an animated
command button, a Click event is NOT generated.  You can use the KeyPress
event to detect a click if necessary.

Communications Control (MSCOMM.VBX) Update
------------------------------------------
The port address and interrupt address can be changed from the Windows
Control Panel.

The following defined constants for the Handshaking property have been added
to the CONSTANT.TXT file:

  Global Const MSCOMM_HANDSHAKE_NONE = 0
  Global Const MSCOMM_HANDSHAKE_XONXOFF = 1
  Global Const MSCOMM_HANDSHAKE_RTS = 2
  Global Const MSCOMM_HANDSHAKE_RTSXONXOFF = 3

InBufferCount property: This property is Read/Write at run time.

SThreshold property:  The MSCOMM_EV_SEND event is only fired once, when the
number of characters crosses the SThreshold.  For example, if SThreshold
equals five the MSCOMM_EV_SEND event occurs only when the number of
characters drops from five to four in the output queue.  If there are never
more than SThreshold characters in the output queue the event is never fired.

OnComm Event:  The MSCOMM_ER_RXOVER only gets set when the receive queue
overflows.  It will not get set after a Chr$(26), EOF.

PortOpen property:  If either the DTREnable or RTSEnable properties are set
to True before the port is opened, the properties are set to False when the
port is closed.  Otherwise, the DTR and RTS lines remain in their previous
state.

The DSR_EVENT is only fired when DSR goes from -1 to 0.

Graph (GRAPH.VBX) Update
------------------------
The Graph control includes the Palette property.  Refer to online Help.

MAPI (Messaging API) Update
---------------------------
The RESOLVE_NAME action resets RecipType.

Masked Edit Control (MSMASKED.VBX) Update
-----------------------------------------
The Text property is not available at design time.

Multimedia Control (MCI.VBX) Update
-----------------------------------
All references to the DisplayhWnd property should be hWndDisplay.

DeviceType property should refer to "Videodisc" not "Videodisk" as a device.

TimeFormat property should include 
  2  MCI_FORMAT_MSF   Minutes, seconds, and frames are packed into a
		      four-byte integer.  From least significant byte to
		      most significant byte, the individual data values
		      follow:

		      Minutes (least significant byte)
		      Seconds
		      Frames
		      Unused (most significant byte)

Pen Controls (PENCNTRL.VBX) Update
----------------------------------------
The error constants are incorrect on pages 278, 280, 287, 288, and 297. The
correct values are defined in online Help.

The Ink On Bitmap and On-Screen Keyboard controls refer to CONSTANT.TXT.
The correct file for constant definitions is PENAPI.TXT in the
SAMPLES\PEN directory.

For the SKB_Change event of the On-Screen Keyboard Control, there
is one additional possible value for the ChangeCode parameter:

    SKN_TERMINATED    The on-screen keyboard has been closed.

This constant is defined in the file PENAPI.TXT.

The Distribution Note at the beginning of the chapter "Pen Edit
Controls" should say the custom control file is named PENCNTRL.VBX.

To facilitate the interaction between Microsoft Windows For Pen API and
Visual Basic, we have created two new APIs in the PENCNTRL.VBX file:

  CPointerToVBType(ByVal lpSrc As Long, vbDest As Any, ByVal cNum By Integer)

  - Copies cNum number of bytes from a memory location pointed to by lpSrc
    and places them in the vbDest memory location.

  VBTypeToCPointer(vbSrc As Any, ByVal lpDest As Long, ByVal cNum By Integer)

  - This reverses the process, copying from Visual Basic memory to a
    location specified by lpDest.

These two functions are used when dealing with RcResult or when
pen data is required to be accessed by a Visual Basic program.

Shipping PENWIN.DLL with Your Application
-----------------------------------------
PENWIN.DLL is a fully redistributable component of Windows for
Pen Computing.  Because applications will seek to leverage the
Pen API - Visual Basic controls in particular - PENWIN.DLL can
be shipped with your application.  There are some considerations
to keep in mind when shipping PENWIN.DLL with your application:

1.  PENWIN.DLL functions ONLY under Windows 3.1.  It WILL NOT
    WORK with Windows 3.0 because it functions only as an
    installable device driver (a feature not present in Windows
    3.0).

2.  As with other redistributable components (such as COMMDLG.DLL
    and the OLE libraries), it is the responsibility of the
    application vendor to determine whether PENWIN.DLL has
    already been installed (there is a GetSystemMetrics() call
    for this) and to ensure that the version of PENWIN.DLL with
    the latest version stamping is the one that is running. These
    issues are the same for all redistributable components, and
    further information is contained in the Windows SDK.

3.  Unlike some of the other redistributable components, if your
    application installs PENWIN.DLL for the first time, or
    replaces the current version with a later one, Windows will
    have to be restarted.  As an installable driver PENWIN.DLL
    can be loaded only at Windows boot time.  Restarting Windows
    can be accomplished via an ExitWindows() call or by simply
    prompting the user to do so.

    NOTE:  To install PENWIN.DLL on a Windows 3.1 system follow the
	   directions listed under the "Pen Sample" in the file SAMPLES.TXT
	   in the SAMPLES subdirectory.

4.  PENWIN.DLL may be in either the \WINDOWS or the \WINDOWS\SYSTEM
    directory.  The default will be \WINDOWS, but since Windows for Pen
    Computing is an OEM product, Microsoft cannot completely control where
    PENWIN.DLL is located on a particular machine.

To get a good feel for the Pen Windows controls, you are encouraged to
use and experiment with the Pen sample application (PENSMPL.MAK).

Spin Control (SPIN.VBX) Update
------------------------------
Removed TabIndex property.

3D Command Button (THREED.VBX) Update
-------------------------------------
Under certain video drivers, the 3D Command button will not print when
performing a PrintForm operation.  This problem occurs when printing
from the design environment or at run-time.  If you are distributing an
application that causes 3D Command buttons to be printed you may want to
implement an alternative method of printing a form as outlined in
KnowledgeBase article Q84066, "How to Print Entire VB Form and
Control the Printed Size."  This article can be found in the online
KnowledgeBase provided with the Visual Basic 2.0 Professional Edition.


Part 7: Help Compiler
=====================

HC31.EXE and Using Protected Mode Memory
----------------------------------------
Version 3.10.504 of the Windows Help Compiler (HC31.EXE) requires
protected- mode memory. A number of system configurations support
protected- mode memory by providing DMPI or VCPI servers. The following
configurations provide protected-mode memory access to the Help Compiler,
although not all configurations have been fully tested.

* Microsoft Windows version 3.0 or 3.1
  The best way to access protected mode memory is to run the Help Compiler
  in an MS-DOS session under Windows 3.1 enhanced or standard modes. You can also
  compile in an MS-DOS session under Windows 3.0 enhanced mode.

* EMM386 under MS-DOS
  The Help Compiler runs under EMM386 (if the noems option is not used and
  enough EMS memory is allocated to EMM386).

* 386Max
  The Help Compiler runs as a DMPI client with version 6.01 of 386Max
  (the version shipped with C7 or its equivalent).  The Help Compiler may
  also work with some earlier versions of 386Max as a VCPI client if
  enough EMS memory is configured.

* QEMM
  Under version 6.02 of QEMM, the Help Compiler runs as a DPMI
  client.  It should also work under some earlier versions of QEMM
  as a VCPI client, provided it is configured with enough EMS memory.   
  
* EMS Memory Requirements
  You need enough EMS memory to hold the Help Compiler and dynamic data
  being compiled.  The exact amount of memory needed depends heavily on the
  size of the help file you want to compile.  Between 1MB and 2MB should
  meet most needs.


Part 8: ODBC Information
========================

If you use Windows for Workgroups and the ODBC object layer with
SQL Sever installed on a Novell NetWare LAN, you will not be able to 
access SQL Server from ODBC.  The Network Integration Kit (NIK) will 
resolve this problem.  For details please contact Microsoft Product
Support at the numbers listed in the Visual Basic Help file.

The Database object now supports the QueryTimeout property.  Refer to the
online help.

For information on distributing Visual Basic ODBC applications, refer to
the online Help contents screen.
