README.TXT for Professional Edition of VB Ver 2.0 for WindowsLast reviewed: December 9, 1996Article ID: Q100632 |
The information in this article applies to:
- Professional Edition of Microsoft Visual Basic programming system for Windows, version 2.0
SUMMARYThe following article contains the complete contents of the README.TXT file distributed with Microsoft Professional Edition of Visual Basic version 2.0 for Windows.
MORE INFORMATION
README.TXT Release Notes for Microsoft (R) Visual Basic (TM) Professional Edition Version 2.00 (C) Copyright Microsoft Corporation, 1992This 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 InformationBefore 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-based 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 INSTALLATIONAfter 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 OptionsVisual Basic can be started using command line options. The syntax is: VB [[/R[UN] fname] [/C[MD] commandline]]|[/M[AKE] projname[.mak] [exename]]
Option Explanation /RUN Runs the application specified by the filename (fname). /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 fname 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 ClipboardTo 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 BoxesThe 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 FalseIf 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-based 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 ApplicationThere 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 BottomSetting 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 FilesThe 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, ByValhelpfilename$, 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 GridsTo create a single-column or single-row grid where the column or row is not fixed, set the appropriate Col and FixedCol properties at run time.
Naming ConflictsDo 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 accept only CF_BITMAP and CF_DIB format graphics.
Implicit Methods for Custom ControlsThere 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 ObjectWhen 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 example, 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 InformationThe 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 FilesWINSDK.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 ControlsVisual 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.LICPlease 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) UpdateThe 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 = 3InBufferCount 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) UpdateThe Graph control includes the Palette property. Refer to online Help.
MAPI (Messaging API) UpdateThe RESOLVE_NAME action resets RecipType.
Masked Edit Control (MSMASKED.VBX) UpdateThe Text property is not available at design time.
Multimedia Control (MCI.VBX) UpdateAll 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 ByInteger)
Shipping PENWIN.DLL with Your ApplicationPENWIN.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:
Spin Control (SPIN.VBX) UpdateRemoved TabIndex property.
3D Command Button (THREED.VBX) UpdateUnder 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 MemoryVersion 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 InformationIf 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.
|
Additional reference words: 2.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |