home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l407 / 1.ddi / PROREADM.TXT < prev    next >
Encoding:
Text File  |  1993-04-28  |  26.9 KB  |  636 lines

  1.                  
  2.                  README.TXT
  3.  
  4.       Release Notes for Microsoft (R) Visual Basic (TM) Professional Edition
  5.  
  6.                 Version 3.00
  7.  
  8.           (C) Copyright Microsoft Corporation, 1993
  9.  
  10. This document contains release notes for Microsoft Visual Basic Professional
  11. Edition version 3.0 for Windows.  Information in this document is more 
  12. current than that in the manuals or online Help.
  13.  
  14. ------------------------
  15. How to Use This Document
  16. ------------------------
  17. To view README.TXT on screen in Windows Notepad, maximize the Notepad window.
  18.  
  19. To print README.TXT, open it in Windows Write, Microsoft Word, or another 
  20. word processor.  Then select the entire document and format the text in 
  21. 10-point Courier before printing.
  22.  
  23.      *******************************************************************
  24.      Read Part 1 - Software Installation Information - before installing.
  25.      *******************************************************************
  26.  
  27. ========
  28. Contents
  29. ========
  30.  
  31. Part    Description
  32. ----    -----------
  33.  1      Software Installation Information
  34.  2      Notes and Tips
  35.  3      Notes for "Learning Microsoft Visual Basic" Tutorial
  36.  4      Notes for Microsoft Visual Basic Online Help
  37.  5      Notes for Microsoft Visual Basic "Programmer's Guide"
  38.  6      Notes for Microsoft Visual Basic "Language Reference"
  39.  7      Notes for Microsoft Visual Basic "Custom Control Reference"
  40.  8      Notes for Microsoft Visual Basic "Data Access Guide"
  41.  
  42. =========================================
  43. Part 1: Software Installation Information
  44. =========================================
  45.  
  46. To install Visual Basic, use the Program Manager or File Manager to start
  47. SETUP.EXE as you would any other Windows-based application.  For example,
  48. if you are installing from drive A:
  49.  
  50. - From the Program Manager File menu, choose Run.
  51. - In the Run dialog box, type A:SETUP and choose OK.
  52.  
  53.   Or
  54.  
  55. - From the File Manager, double-click the SETUP.EXE file icon 
  56.   on drive A.
  57.  
  58. ------------------------------------
  59. File Sharing for OLE and Data Access
  60. ------------------------------------
  61. You will need SHARE.EXE to enforce file and byte range locking if the 
  62. following programs are running simultaneously:
  63.  
  64. - Two Visual Basic applications that perform data access
  65. - Two instances of one Visual Basic application that performs data access
  66. - Microsoft Access and a Visual Basic application that performs data
  67.   access
  68.   
  69. If you are running Microsoft Windows 3.0 or Windows 3.1 (i.e. not
  70. Windows for Workgroups), you will need to change your AUTOEXEC.BAT
  71. as follows:
  72.  
  73.      SHARE /L:500 /F:5100
  74.  
  75. If the /L or the /F setting to SHARE has a larger value than listed here, 
  76. leave the setting as it is rather than reducing it.
  77.  
  78. Please make this change as soon as possible in your system.
  79.  
  80. Note
  81. ----
  82. If you ship .EXE files to users that use OLE or data access, they must
  83. add this setting to their AUTOEXEC.BAT file as well.
  84.  
  85. -----------------------
  86. Visual C++ and GRID.VBX
  87. -----------------------
  88. If you plan to install Microsoft Visual C++(TM) Development System for 
  89. Windows on your system, you may overwrite the grid control in your Windows 
  90. \SYSTEM directory.  Before installing Visual C++, make a backup of GRID.VBX.  
  91. If you have already installed Visual C++, you can re-install GRID.VBX by 
  92. running Setup again, choosing the Custom Installation button, and then 
  93. selecting the Microsoft Visual Basic option.
  94.  
  95. -----------------------------------------------------
  96. Using Visual Basic 3.0 with SQL Server and Access 1.0
  97. -----------------------------------------------------
  98. If you choose to install the SQL Server ODBC driver, you will find the file
  99. INSTCAT.SQL in the \VB\ODBC directory.  This is a stored procedure file that
  100. the SQL Server administrator must run on the server to prepare the server to
  101. accept Visual Basic as a client.  However, this version of INSTCAT.SQL is
  102. incompatible with Microsoft Access 1.0.  If you are also using Access 1.0 
  103. as a client for that SQL Server, you should use the INSTCAT.SQL that was 
  104. included with Access 1.0.  Visual Basic 3.0 will work correctly with  
  105. INSTCAT.SQL from Access 1.0 except that it will be unable to delete indexes 
  106. from tables.
  107.  
  108. ----------------------
  109. Setup and LZEXPAND.DLL
  110. ----------------------
  111. Visual Basic's Setup program uses LZEXPAND to install ODBC.  If you encounter
  112. a system error while Visual Basic is calculating free disk space, check for 
  113. this file in your Windows \SYSTEM directory.  If an older version of 
  114. LZEXPAND.DLL exists along your path, remove the file and continue with Setup.
  115.  
  116. ======================
  117. Part 2: Notes and Tips
  118. ======================
  119. ----------------------------------------------------
  120. Data Access Compatibility - Visual Basic 2.0 and 3.0
  121. ----------------------------------------------------
  122. The new functionality of the Microsoft Access engine in Visual Basic 3.0 
  123. will affect the behavior of your VB 2.0 code.  Visual Basic 3.0 will 
  124. now assume that all SQL statements take the form of Access SQL (see the 
  125. Access documentation).  You can passthrough SQL to ODBC; as a second 
  126. parameter to the CreateDynaset method, you must specify &H40 to indicate 
  127. SQL passthrough.  Note that if you used backend-specific SQL with 
  128. CreateDynaset, you must add this parameter.
  129.  
  130. ----------
  131. ATI Driver
  132. ----------
  133. If you have an ATI Wonder card, moving the data control around at design
  134. time may cause a GP fault.  Contact ATI for more information.
  135.  
  136. ------------------------------------------------------
  137. BackColor Displayed Incorrectly with 256-Color Bitmaps
  138. ------------------------------------------------------
  139. If you have a 256-color bitmap in any control (or the form) that has a 
  140. BackColor property, it is possible that the background color of that object 
  141. will not display correctly if no color in the bitmap's palette matches the 
  142. background color.
  143.  
  144. ----------------------------------
  145. "Communication Link Failure" Error
  146. ----------------------------------
  147. If you receive a "Communication Link Failure" error when executing queries 
  148. against a Microsoft or Sybase SQL Server, you can retry the operation with 
  149. asynchronous execution disabled.  To do this, add the following entry to 
  150. your VB.INI file:
  151.  
  152.      [Debug]
  153.      RmtTrace=16
  154.  
  155. Visual Basic will continue to run synchronously until this line is removed 
  156. from VB.INI.
  157.  
  158. ---------------
  159. OLE Class Names
  160. ---------------
  161. To get a reference to a currently running OLE application by using its class 
  162. name, you must use:
  163.  
  164.       GetObject(, "classname")
  165.  
  166. that is, GetObject has to have an empty file name.  A file name of "" will 
  167. create a new instance of the server for class name.  This is contradictory 
  168. to what is documented.
  169.  
  170. --------------------------------
  171. OLE Control: In-Place Activation
  172. --------------------------------
  173. The Visual Basic OLE 2.0 control supports "Inside-Out Activation," which
  174. corresponds to "activation on GetFocus."  If a server designates this 
  175. capability and you specify AutoActivate = GETFOCUS, then:
  176.  
  177. - The object is initially deactivated the first time the control gets the 
  178.   focus.
  179. - The object is not fully deactivated when the control loses focus.  
  180.   Instead, the object is directed to tear down any floating user interface 
  181.   it may have, such as tool pallettes.
  182.  
  183. Note that AutoActivate = GETFOCUS is only supported if the server claims to 
  184. be "inside-out-capable," further reducing the possibility of looping
  185. re-activation when a non-insitu server closes and gives focus back to the 
  186. control.
  187.  
  188. -----------------------------------------------
  189. OLE Control: Pasting Objects from the Clipboard
  190. -----------------------------------------------
  191. Applications that provide objects behave differently when an object is 
  192. deleted.  When you delete an OLE object (set Action = 10), the object's 
  193. application may or not close.  If the application does close, any objects 
  194. on the Clipboard associated with that application may also be closed.  
  195. Because of this, you may not be able to cut an object (copy, then delete), 
  196. since deleting the object may also cause the data on the Clipboard to be 
  197. deleted.
  198.  
  199. Another instance of this behavior is when you try to copy an object, then 
  200. paste the object back onto itself.  This action may cause an error, because 
  201. in order to paste over an existing object, the existing object is first 
  202. deleted.  If the application associated with the object closes, and 
  203. subsequently deletes any objects it has on the Clipboard, the Clipboard no 
  204. longer contains an object to paste.
  205.  
  206. ---------------------------------
  207. OLE Control: The PasteOK Property
  208. ---------------------------------
  209. The following applies to objects on the Clipboard that come from an OLE 
  210. object:
  211.  
  212. - When PasteOK returns True, there is no guarantee that the Paste operation 
  213.   will succeed.  For example, PasteOK returns True and the Paste fails when
  214.   there is a linked object on the Clipboard and you are pasting into an 
  215.   object whose OleTypeAllowed property is set to 1 (Embedded).
  216. - PasteOK returns False when there is a linked object on the Clipboard and 
  217.   you are pasting into an object whose OleTypeAllowed property is set to 
  218.   0 (Linked).
  219.  
  220. ------------------------
  221. OLE Control: Link Target
  222. ------------------------
  223. You cannot activate a linked object as hidden (set Verb = -3).  You can, 
  224. however, activate an embedded object as hidden.
  225.  
  226. -----------------------------
  227. OLE Constants in CONSTANT.TXT
  228. -----------------------------
  229. OLE has also defined two new standard verbs relating to the two states that 
  230. an in-place-active object can have.  The following corresponding constants 
  231. have been added to CONSTANT.TXT:
  232.  
  233. Constant                  Description
  234. --------                  -----------
  235. VERB_INPLACEUIACTIVATE    Object is fully in-place active, including floating 
  236.               UI.  Only one at a time per top-level form can be 
  237.               in this state.
  238.               
  239. VERB_INPLACEACTIVATE      Object is semi-active; it is running and ready to 
  240.               respond to user input like clicking within the 
  241.               object or changing the mouse pointer as the user 
  242.               moves the mouse over different parts of the object.  
  243.               Any number of objects can be in this state at a 
  244.               time.
  245.  
  246. So, if you have a number of inside-out-capable objects on a form, where the 
  247. user has specified AutoActivate = ONGETFOCUS, the objects take turns at
  248. being in-place-UI-Active.  The new verbs allow the Visual Basic programmer to 
  249. cause these objects to be in the in-place-active state.  For example, if you 
  250. want to create a form with several of these objects, and you want the form 
  251. to be as responsive as possible to user input, you would put the following 
  252. code for each control into your Form_Load event handler:
  253.  
  254.      OLEControl.Verb = VERB_INPLACEACTIVATE
  255.      OLEControl.Action = OLE_ACTIVATE 
  256.  
  257. See the file CONSTANT.TXT for more information.
  258.  
  259. ------------------------------------
  260. Windows 3.0 and the PopupMenu Method 
  261. ------------------------------------
  262. Under Windows 3.0, pop-up menus invoked during a MouseDown event in some 
  263. cases do not recognize menu selections made with the mouse.  If that occurs, 
  264. you can still make a selection using the arrow keys and the Enter key.
  265.  
  266. ------------------------------------------
  267. Saving ASCII Forms in Source Code Managers
  268. ------------------------------------------
  269. When using source code managers, you need to change the read-only bit on the 
  270. binary file (.FRX) as well as the form file (.FRM) to save the form.
  271.  
  272. --------------------------------
  273. Crystal Reports for Visual Basic
  274. --------------------------------
  275. All prices in the Crystal Reports for Visual Basic editor, CRW.EXE, are 
  276. listed in US dollars.
  277.  
  278. If you are calling Crystal Services from outside the United States for
  279. support or more information, please contact your local international
  280. long distance carrier if you need assistance.
  281.  
  282. ============================================================
  283. Part 3: Notes for "Learning Microsoft Visual Basic" Tutorial
  284. ============================================================
  285. -----------------------
  286. Save Project Before Run
  287. -----------------------
  288. The Save Project Before Rune.
  289.      Select Case Attr       ' Look up attributes.
  290.         Case 0: Msg = "Normal"
  291.         Case ATTR_READONLY: Msg = "Read-Only"
  292.         Case ATTR_HIDDEN: Msg = "Hidden"
  293.         Case ATTR_HIDDEN +  ATTR_READONLY: Msg = "Hidden and Read-Only"
  294.         Case ATTR_SYSTEM: Msg = "System"
  295.         Case ATTR_READONLY +  ATTR_SYSTEM: Msg = "Read-Only and System"
  296.         Case ATTR_HIDDEN +  ATTR_SYSTEM: Msg = "Hidden and System"
  297.         Case ATTR_READONLY + ATTR_HIDDEN +  ATTR_SYSTEM: Msg = "Read-Only," 
  298.                           - + Msg = " Hidden, and System"
  299.      End Select
  300.      MsgBox UCase(FName) & " is a " & Msg & " file."   ' Display message.
  301.        End Sub
  302.  
  303. 256    hDC Property
  304.  
  305.        The Usage line should read: 
  306.  
  307.         {[form.] [commondialog. | picturebox.] | Printer.}hDC
  308.  
  309.        Also, the second paragraph of the Remarks should read, "With a common 
  310.        dialog control, this property returns a device context for the printer 
  311.        selected in the Print dialog box when the..." (the rest of the text 
  312.        remains the same).
  313.  
  314. 258    Height, Width Properties
  315.  
  316.        The See Also line should refer to the "Width # Statement," not the 
  317.        "Width Statement."
  318.  
  319. 274    Image Control
  320.  
  321.        Add DataField and DataSource to the Properties list.
  322.  
  323. 280    InitDir Property
  324.  
  325.        The "Applies To" line should read "Common dialog (File dialogs)."
  326.  
  327. 297    KeyDown, KeyUp Events
  328.  
  329.        The See Also should refer to the SendKeys Statement, not the SendKeys 
  330.        Method.
  331.  
  332. 299    KeyPress Events
  333.  
  334.        The See Also should refer to the SendKeys Statement, not the SendKeys 
  335.        Method.
  336.  
  337. 303    Label Control
  338.  
  339.        Add the DataField, DataSource, and Parent properties to the Properties 
  340.        list.
  341.  
  342. 336-   ListFields Method
  343. 338
  344.        In the second table, the fifth and sixth entries in the Field column 
  345.        should be SourceTable and SourceField, not SourceTableName and 
  346.        SourceFieldName.  The code example and the headings of the table 
  347.        below it should also refer to SourceTable and SourceField.
  348.  
  349. 345    ListTables Method
  350.  
  351.        In Remarks, the first paragraph under the TableType field table should 
  352.        read: "When you use the ListTables method to create a Snapshot, you 
  353.        can evaluate the contents of the Attributes field in the Snapshot by
  354.        referring to the TableDef property settings table in the Attributes
  355.        property topic.
  356.  
  357. 361    Max, Min Properties (Common Dialog)
  358.  
  359.        At the beginning of the topic, add "Applies To...Common dialog (Font, 
  360.        Print dialogs)."
  361.  
  362. 363    MaxFileSize Property
  363.  
  364.        The "Applies To" line should read "Common dialog (File dialogs)."
  365.  
  366. 390    Name Property
  367.  
  368.        The "Applies To" line should include the Database object.
  369.  
  370. 432    Partition Function
  371.  
  372.        In the code in Example 3, the second five lines of code duplicate 
  373.        the first five lines and should be deleted.
  374.  
  375. 439    Picture Box Control
  376.  
  377.        Add DataField and DataSource to the Properties list.
  378.  
  379. 444    PopupMenu Method
  380.  
  381.        In the Syntax line, there should be a comma immediately before the y.
  382.  
  383. 455    PrinterDefault Property
  384.  
  385.        The "Applies To" line should read "Common dialog (Print dialog)."
  386.  
  387. 536-   SourceFieldName, SourceTableName Properties
  388. 537
  389.        All references to SourceFieldName and SourceTableName in this topic 
  390.        should refer to "SourceField" and "SourceTable" instead.
  391.  
  392. 538    SourceTableName Property
  393.  
  394.        There should be a full entry for the "SourceTableName" topic.  See 
  395.        online Help for the text of this topic.
  396.  
  397. 565    Text Box Control 
  398.  
  399.        The second piece of art is incorrect.  It should show a text box 
  400.        on a form but instead shows a menu title and menu items on a form.
  401.        Also, add DataField and DataSource to the Properties list.
  402.  
  403. 595    Validate Event
  404.  
  405.        In the third paragraph following the Constants table, change "edit
  406.        buffer" to "copy buffer."
  407.  
  408. 619    Trappable Errors
  409.      
  410.        In Appendix B, the odd header is wrong.  It should read "Trappable
  411.        Errors," not "Trappable Error Messages."
  412.  
  413. 634    Trappable Error Messages
  414.        
  415.        In Table B.6 ("Data Access Trappable Error Messages"), Error #3137 
  416.        should be deleted.
  417.  
  418. ===================================================================
  419. Part 7: Notes for Microsoft Visual Basic "Custom Control Reference"
  420. ===================================================================
  421.  
  422. Page   Section/Note
  423. ----   ------------
  424. xxii   Visual Basic Executable (.EXE) Files
  425.  
  426.        The Visual Basic run-time file is listed incorrectly. The first
  427.        bulleted item should read VBRUN300.DLL, not VBRUN200.DLL.
  428.  
  429. 147   Graph Control
  430.  
  431.       In Example 1, the following line contains two "=" characters:
  432.         
  433.        Graph1.LabelText = "Data point" = Str$(i%)
  434.          
  435.       The line should read:
  436.  
  437.        Graph1.LabelText = "Data point" + Str$(i%)
  438.  
  439. 148    Graph Control
  440.  
  441.        In Example 2, the following line contains two "=" characters:
  442.  
  443.        Graph1.LabelText = "Label" = Str$(i%)
  444.          
  445.        The line should read:
  446.  
  447.        Graph1.LabelText = "Label" + Str$(i%)
  448.  
  449. 176    Key Status Control
  450.        
  451.        The table for the Value property incorrectly states that False is 
  452.        the default value.  The default value is determined by the state 
  453.        of the keyboard.
  454.  
  455. 180    MAPI Session Control
  456.  
  457.        There should be no footnotes, since the MAPI controls are 
  458.        only available in Visual Basic.
  459.  
  460. 186    MAPI Messages Control
  461.  
  462.        There should be no footnotes, since the MAPI controls are 
  463.        only available in Visual Basic.
  464.  
  465. ============================================================
  466. Part 8: Notes for Microsoft Visual Basic "Data Access Guide"
  467. ============================================================
  468.  
  469. Page   Section/Note
  470. ----   ------------
  471. 23     Creating New Table Definitions
  472.  
  473.        Delete the following line of code from the example:
  474.        
  475.         On Error Resume Next
  476. ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷KWAJê≡'╤┘`⌐εì-φ─»ì,m.üíJÅ. ñ
  477. «Nmφ┴íDêÆëîü(.d    -╬î¼∞«HÇÜ▐▄Φ╨╪≥ª┬╪┬Σ≥ê¿ìε¼Mî¿ⁿÿ┬µΦñ╩∞╥╩εê┬Φ╩o└iìφ╠Θ£ú4╣9║'0╢ëå╬ö▌Ü[Ö╚
  478. ê Mc(²!C╒]ñHäΓü╨██[Y[¥± ╘└4)╣ÉÇ»@aíAí_÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷KWAJê≡'╤"-%àlâ*Uôk]≤$m¡╞╬7ÿπ8:╦V(h[n¿J┌aSäw¢vEF9v≡i╓╗≤âì¼9█¥║┘Θ╬÷7╪soç;q╣ç¡∙└uâ£5▀f¢╢╙u╡╙nu(sü╞≈}╖δ█░0┴ 7«Ωä░ÿ┘\!K^║)F¢F╝Zæp~ú╪h6R╥N6"U¬![┐ß.ò:╒╔L¥NÆqτ    ╗░úú6º    └∞δBH▓E½ô~
  479. ùUì≡σ┼┼╤⌡df╖0╘█sa.uσ2T╤ç}º!º|Lÿ≥à╨º!≤ûªΣ│Æ CöúM∞⌡ε^m⌠%C╓{à÷NΘ┌⌡█h½πï4╣?û║]=»$'╬▌┌Å╕LB¬DHïfJRδ╔`ß╟P.#ü╡«æ∩²₧┬⌡y╓^▌⌡D╢⌡Oy┼}1╧^0e<[TΓáeÿ~æN ╢d*╧╥$¿¬╘ûDùSƒë/7cêé'≥∙╒q╙»■εƒ.íÇQ=┼¢╠A%].0)üYaÿ╦╦░'r 8sΣ
  480. G÷╜Gµ∙┴ùï╘~╩
  481. û}G╤⌠~░Φ╪√-≥╝GæΣyíπ╪╬║╥║uZτ<Y{ô⌐éFÄfÄeQz0^5╫eëM<`╞╩╣4πW╖É8░▓┤¡+±Y╘éíp╓0Æ▌πÜΩá    ╟jl¢&╔▓mY ∞╫tÑT▄Ü&ëªb∙=)Ñÿª"Θr\ù%╔wh,32µ∙Ir\ù}9º{l╠J[╠ΓJÜ0╕*Xû%ëbYÜÖKwKò╙┬\ùâ│╜╠ñv╡╞╨A¼c2t¥'I╫rΓ╬⌡@Söτ·4å8T╘A    Pÿª)èbÿ·Ä⌠₧LúHπùd}2LÜäjj¿H╨B@╫¬▀¡Q>Y┤⌡ε<O─±<O╚⌠!<ßΓ:»╘uGQ╘uGQ┘■αÄ▒eï,YO:═ºÄ;ô─±<O─≤ `r8₧>└ºi▀7hßEfô┤∩╟f¥<àRåì╣⌡'KU⌐h≤▓>¥║?τ╜5⌡b≥ù`û[Inε3║⌐∩)q╬ö╗┴¥ù%╪.$ës╬óTò3αòτ±╓╦·┼₧²╓+»    ^"╚fe|╬ z¥r<⌐^zTûxe)JR┼4óºu▓öí(·√aëⁿΘΘ┴ lúÜl's▒─}bBA≈R:c{VG≈é─╟∙ae╫ _c╚≥<╔Ω:╨╥:Äú╕╓Z;Ä▀C pP╪Ü▄@HÆ& $y#z/║╫w7Ω÷d ╘╛2.n(ôFæñlE∩C¥ï$IEo-X!╢B∙{╪óá¥z∞àXK]è?!Φ╨▄,i«ΘéφU1¥╡NM Mùq┤íΘB╠│Ü·f│├╦ë│öïhar3╢[-2·    ê    óY╖STU∞17rS■R`╠╣"∩s Σ└█Zu!¼s'¥ù«▐╗╛▐\µ°■cï·░LèIh╧ï)ü─▐₧╡·    ╚ΩJ· f!Æcd+╔ñ!!êë≡╕$╔\PsM ±ñ!┴╘ rDQε█ßì-▐RI÷Fªiò°ÿ4Θÿ|ε═M║╫··⌡Aⁿæ║TbmçíT}¡!+ª┘╚╘)_╜æ╨²╜{&%Oâτ±y╩╪╞╛d╞▒╩`δHLò6¥Å8MGTº½G╪▒Σ||p«╧Åê1±ç╖ª╔6·═«yGÇA[╫2cü√lj(jHB%$;xßpå @x⌠ºp.D%┘óúbL?▓D¥Kó ò(9ƒ╖I╛┤╢─4ggÇ≡n&√Jd ┬¥'Y:╣ ╗ì ¿]S«▀ +7jj∞Γûn█±·P╔Ω▐¢ÇKzé NîH@╘&%┬ΓVE⌠ì┬óh3:í+éOXc»▓ôÿK¬î+ÿ    ┴┘ ╞+Hµ╓e1▌µå¥¬2o,║T5 \┴-$π╢cb`Nî9Pñⁿ)kC #¿╘Y6▀╕8φ╗╙APqâ≤╟├.G┴£î┴-ò╙    -)■æâ^Ñ╞±|-Sid╡ñ∩R¼G_9D▀'xIvü3I|₧íó°╡₧δvá▄e─°÷{2¥g¡ó^5╡3α╪yε>¬?┤;¬╪≈╘²s3ⁿ═a|âaÉ╘Ä⌐$éMΦΘ&╪ñ°m^w7╩WKp9Üö}ò∩/┬ÜÜ⌐;σ,≥^ΣφV╣╞┐v╗╝V╞Θ╗\╥<ⁿ²ì╙┤Lπ∩]U╢;ìµUOG╛7è╖╣,Y[»╜ò$⌐+ÿ╤öΦ┼Æó╡N╟ê Ü╦Ü$µ╓µ÷µπ äΓòk4iûê÷lXse═Xu╖Γ╓┐a₧U¥░ ╢╛B&;Φ£BèV,J■l╣δd╜eyπT╕ë²o╓²█╞p!╪èi√BÉ┘c═_QδHvN╥╧q╖½cU# ⌐»úûYΣ║¼K≤±)!µ╣∩Θlµ"kN⌠╨╗k;b{¡Pε WA ╤ö≡¼£∙y¥aπ"Q¿H╖l^+ù²K3⌐O,τ╪eeZ╚╡e ╢û6aaP≤Uµ?Wàyrq─2i╧3ªe╩▒o%<╣½╜▀w╣-╖╧ï╖ï? M█«▀u6φΩWPo╘    9'%=vÖ┘XJ∞=X»1A,■≡r╬└▓%┬┌æ{#u┐DC»aΩC┘.fu⌠y0▒é@╡▒Zbùf▓ !,ü÷ ï¢&$0-╠u╪2╞u╫ßd¿ì{-╠ƒ«Du¼▀ßRó■rΣ;ùß█6Vç √b╬ΓuS▀p4>╝╘╖▐╞═Γêi▌«{▄⌡kyδ≈¼╙╝&╬₧▐╡`∩╕-sw}┐┘(ï æä ¼Ω╚L╨Φ┴/4 ÜuÄ]Å╔εñ
  482. ─q░Θ╟£δâ▓╦≤yƒÆ3∩>⌡J≡├\0∩{]ߢ┐▀≈·N ╢╕██h5≡ìφíQ±+¥╛XÄ}é»╦ì!çΓÑ╚■&éµ}∞gΣ+≤¼╠╧±Zµáƒ34│╝ë█ΦQ╥:* gF/Lπt_1bän╪QlEÉ╕┤∩ìφiU▀ì÷╟tûvφzLx:≡uαδ┴█]φ⌠│Ö┘R£1êw0┼∙╓╣≡ge¥£`█Θ╨┤┼3Ñi╥╓æ(âl╒vj│uî╒3Uo╞ùWⁿ╓ù¿▒╟,èI[û)«[û_▌⌐▌ S}d╢τ3Ω»R▌
  483. ÿCδµó┤]?Φ2╩²╒φ░∙╤Oÿl∙░½ my┬╞ê╩╣╞{|}+⌡²b∙Σv╕û=c▄╨»KÖ┐YæsWΘ)≈ë+#«Σ#ê╡.xσº>#╟═α jm╦ù╙}«\ΓÖ;⌠ó╚U-3║╬δá╠Z²▒─%^vô½ö╟█fW=╣¬╚≈ª∩ ╓J╜╦ƒ║,π"╡┤Σ\₧╫║┐╥ⁿ^Θ√»┐█zεφsx·S░#ZVε╓ò Environment Option (under the Options menu)
  484. should be set to "No" when running the "Learning Visual Basic" tutorial.
  485. Some of the lessons may be impaired if this option is set to "Yes."  By
  486. default, this setting is "No."
  487.  
  488. ====================================================
  489. Part 4: Notes for Microsoft Visual Basic Online Help
  490. ====================================================
  491. ------------------
  492. Error Message Help
  493. ------------------
  494. Online Help is not available for dialogs or error messages that occur at
  495. design time.  For ISAM errors, use the Search dialog in Help.
  496.  
  497. --------------------------------
  498. "Couldn't find installable ISAM"
  499. --------------------------------
  500. An external file dynamic link library (DLL) file couldn't be found.  This 
  501. file is required for operations such as attaching or accessing external 
  502. tables.
  503.  
  504. Possible causes:
  505.  
  506. 1) An entry in the [Installable ISAM] section in VB.INI or <APPNAME>.INI is 
  507.    incorrect.  For example, this error occurs if you're accessing a Paradox 
  508.    external table, and the Paradox entry of the .INI file points to a 
  509.    nonexistent directory.  Exit Visual Basic, make necessary corrections in 
  510.    VB.INI or <APPNAME>.INI using Microsoft Windows Notepad or another text 
  511.    editor, restart Visual Basic, and try the operation again.
  512.  
  513. 2) One of the entries in the [Installable ISAM] section in VB.INI points to  
  514.    a network drive, and that drive isn't connected.  Check to make sure the 
  515.    network is available and the proper drive letter is established, and try 
  516.    the operation again.
  517.  
  518. =============================================================
  519. Part 5: Notes for Microsoft Visual Basic "Programmer's Guide"
  520. =============================================================
  521.  
  522. Page   Section/Note
  523. ----   ------------
  524. 188    The New Keyword
  525.  
  526.        In the example at the top of the page, the local form
  527.        variable F is declared with the New keyword using the 
  528.        Dim statement.  To make the form variable and the 
  529.        loaded form instance persist, use a Static or Global
  530.        variable instead.
  531.  
  532. 194    Determining the Type of an Object Variable
  533.  
  534.        You can use the If...TypeOf statement to determine the 
  535.        control type of a custom control:
  536.        
  537.         If TypeOf object Is objecttype  
  538.     
  539.        The identifier you use for 'object' is the class name of 
  540.        the custom control.  See the section "Specific Control 
  541.        Object Types" (p. 186) for more information.
  542.  
  543. 461    The Options Property
  544.     
  545.        The constant values shown are in hexidecimal and should be
  546.        preceded with the &H notation.  For example,  
  547.        DB_SQLPASSTHROUGH = &H40, not decimal 40.  See online Help
  548.        (Options Property) or the file DATACONS.TXT for the correct
  549.        values.
  550.  
  551. 462    The RecordSource Property
  552.  
  553.        The following text and example should be changed:
  554.  
  555.        For example, the following SQL query returns all of the columns
  556.        in the bibliography for authors who live in New York:
  557.  
  558.         Data1.DatabaseName = "BIBLIO.MDB"
  559.         Data1.RecordSource = "Select * from Titles where state = 'NY'"
  560.         Data1.Refresh
  561.  
  562.        The above should read:
  563.  
  564.        For example, the following SQL query returns all of the columns
  565.        in the bibliography for publishers based in New York:
  566.  
  567.         Data1.DatabaseName = "BIBLIO.MDB"
  568.         Data1.RecordSource = "Select * from Publishers where state = 'NY'"
  569.         Data1.Refresh
  570.  
  571. 465    Adding a New Record
  572.  
  573.        In the second paragraph in this section, the last sentence
  574.        should read, "Notice that using the buttons on the data 
  575.        control or one of the Move methods to move to another record
  576.        will automatically save your added record."
  577.  
  578. 530    Determining How an Object Is Displayed
  579.  
  580.        In the first paragraph, the second sentence should read, 
  581.        "the Icon check box," not "th eIcon check box."
  582.        
  583. 550    Creating Invisible Objects
  584.  
  585.        In the sample code, the following line has incorrect syntax:
  586.  
  587.         MyWord = ObjVar.SuggestWord MyWord
  588.       
  589.        The code should look like this:
  590.  
  591.          MyWord = ObjVar.SuggestWord (MyWord)
  592.  
  593. 552    Limitations in Visual Basic
  594.        
  595.        Under the discussion "Arrays and User-Defined Types," the third 
  596.        bulleted item should read: "You cannot...Assign the return value 
  597.        of a property or method to an array variable or a variable of a 
  598.        user-defined type." 
  599.  
  600. 554    Closing an Object
  601.  
  602.        In the paragraph after the sample code, second sentence:  It is 
  603.        not true that invoking a Close method on an object sets variables
  604.        that refer to the object to Nothing.
  605.  
  606. 582    Determining the Files You Need to Distribute
  607.  
  608.        The following additional files are required for distributing 
  609.        your Visual Basic applications:
  610.  
  611.        DLL Name       Required by (Professional Edition Only)
  612.        --------       ---------------------------------------
  613.        PDIRJET.DLL    Crystal Reports for Visual Basic
  614.        PDBJET.DLL     Crystal Reports for Visual Basic
  615.        MSAJT110.DLL   Crystal Reports for Visual Basic
  616.        MSAES110.DLL   Crystal Reports for Visual Basic
  617.        PDSODBC.DLL    ODBC and Crystal Reports for Visual Basic
  618.  
  619. =============================================================
  620. Part 6: Notes for Microsoft Visual Basic "Language Reference"
  621. =============================================================
  622.  
  623. Page   Section/Note
  624. ----   ------------
  625. 21-22  Action Property (OLE)
  626.  
  627.        In the Settings table, in Setting 5, the reference to None in the 
  628.        second sentence of the third paragraph should read as follows: 
  629.        "If the Paste was not successful, the OleType property will be set 
  630.        to 3 (None)."  In Setting 12, the constant should be 
  631.        OLE_READ_FROM_FILE, not ReadFromFile.  In Setting 14, the constant 
  632.        should be OLE_INSERT_OBJ_DLG.
  633.  
  634. 41     AutoActivate Property
  635.  
  636.        In the Note, replace the words