home *** CD-ROM | disk | FTP | other *** search
- New items added 06/07/91 through the date of this file
- Part 1
- Memory (corrected)
- Part 2
- -------------------------------------------------------------------------
-
- This file contains information about bugs, quirks, and general points
- of interest to programmers working with Visual Basic. It is divided
- into four parts:
-
- Part 1 - Description of bugs, quirks, etc.
- Note that the version column contains 1.00 for all entries,
- but will be useful in the future.
- Part 2 - General points of interest
- Part 3 - Sample programs
-
- If you want to find one of the above quickly, use your text editor to
- search for the text shown above. i.e., Search for "Part 1 -".
-
- All new or changed entries will be marked with the date
- that the information was added or changed. The date will appear in the
- entry in the format (yy/mm/dd).
-
- This file is maintained by Mark Novisoff of MicroHelp, Inc. MicroHelp
- publishes add-on products for Visual Basic, including VBTools, the
- MicroHelp Communications Library and MicroHelp Muscle (Muscle will be released
- during the summer of 1991). MicroHelp also publishes a number of add-on
- products for Microsoft QuickBASIC and PDS 7.x.
-
- If you have additional information that should be added, please send it
- to:
- Mark Novisoff
- MicroHelp, Inc.
- 4636 Huntridge Drive
- Roswell GA 30075-2012
- Compuserve ID 73047,3706 in MSSYS (Microsoft Systems Forum)
-
- If possible, please include a *small* sample program that will demonstrate
- the problem and cause it to happen whenever the program is run.
-
- -------------------------------------------------------------------------
- Part 1 - Description of bugs, quirks, etc.
- -------------------------------------------------------------------------
- Topic Version Description
- -------------- --------------- --------------------------------------------
- Beep 1.00 See KeyPress.
- Hide 1.00 If you simply Hide a form when you're done
- with it, the form consumes system "resources".
- Because resources are limited, you may be
- better off to Unload the form until it's
- needed again.
- KeyPress 1.00 If the user presses <Enter> while a Text Box
- has the focus, and you don't have a Command
- Button with the Default property set to TRUE,
- Windows will cause a BEEP to occur. To avoid
- the BEEP, change the KeyAscii parameter to
- zero when it is passed to you as 13.
- List Box 1.00 When a List Box has the focus, the up and
- down arrow keys will generate a CtlName_Click
- event.
- ListIndex 1.00 Setting the ListIndex property of a List Box
- causes a CtlName_Click event.
- Memory 1.00 Each Form and each module gets its own 64K
- segment to hold scalar variables
- (i.e., variables that are not in arrays).
- Each array is stored in its own segment,
- with each array having a limit of just
- under 64K.
- All properties on a form, except for the
- .Text properties in List Box controls (which
- get a separate segment assigned to each one),
- go into a single 64K segment.
- (Corrected 91/06/07)
- Now 1.00 Now is a double-precision variable. If you
- save it in a single-precision variable,
- you may lose accuracy.
- Picture 1.00 To delete a bitmap from a Picture property,
- select the Picture property via the properties
- bar, set the focus to the (bitmap) display
- in the Combo Box, and press the Del key.
- Text 1.00 When you are adding text to a Text Box
- control, and you have many items to add
- (such as lines from a text file), it is
- more efficient to first concatenate all
- the strings and then place them in the
- control in a single operation. This also
- eliminates the flickering that would
- otherwise occur when adding many items.
- Text Box 1.00 See KeyPress.
- Unload 1.00 See Hide.
- Unload 1.00 If a form is unloaded, accessing any
- property on the form causes the form
- to be reloaded. This can result in an
- "Out of memory" error.
-
- ----------------------------------------------------------------------------
- Part 2 - General points of interest
- ----------------------------------------------------------------------------
- EXE File sizes
-
- Every comment in a VB program takes 2 bytes of space in an .EXE file.
- Every blank line in a VB program also takes 2 bytes of space in an .EXE.
-
- If you load a project, then edit-make exe-edit-make exe, etc., your EXE
- file size may increase each time. If you do this for a long period of
- time, your EXE will be substantially larger than if you simply loaded the
- project and immediately built the EXE.
-
- To create the smallest possible EXE file:
-
- Load the project
- For I = 1 To All FormsAndModules
- Code-Save Text
- Code-Load Text (replacing existing code)
- Next
- Make the EXE
- ----------------------------------------------------------------------------
- Handling Keystrokes
-
- Every key on the keyboard generates a KeyCode. Special cases to note are:
-
- KeyUp/KeyDown/KeyPress events will be invoked for <Enter> only if no
- Default command button exists on the form.
-
- KeyUp/KeyDown/KeyPress events will be invoked for <Esc> only if no
- Escape command button exists on the form.
-
- KeyUp/KeyDown/KeyPress events will not be invoked for <Tab>.
-
- Use KeyDown to trap all non-ascii keys (i.e. the function keys, arrow
- keys, etc), or when the user wishes to differentiate the number-pad keys
- from the numeric-row keys.
-
- Use KeyDown and KeyUp in combination when your program needs to know how
- long a key was depressed.
- ----------------------------------------------------------------------------
- System Resources
-
- There are a few things you can do to free up system resources:
-
- Run in Standard mode instead of 386Enhanced mode:
- This eliminates the overhead of windows virtual memory management.
- While it is faster, you'll have only the physical RAM available to
- you. However, if you have at least 8meg of RAM, you will probably
- not notice a difference in the number of apps you can run simultaneously
- because the resource limit is the same in both modes.
-
- Unless you run some memory intense program or run DOS apps in the
- background, there really isn't any reason to run in 386Enh mode.
-
- Minimize the number of Program groups and icons within your Program manager:
- Every group and every Icon uses up system resouces. Keep only the
- programs you use all of the time in a program group.
-
- Use MSDOS.EXE as your Shell instead of PROGMAN.EXE:
- This is a bit extreme, but MSDOS.EXE uses much less memory and
- resources than PROGMAN.EXE, and it is much faster.
-
- ----------------------------------------------------------------------------
- Part 3 - Sample programs
- ----------------------------------------------------------------------------
-
- <No programs are present at this time>
-
- <End of file>
-