home *** CD-ROM | disk | FTP | other *** search
- 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.
-