Dec 052017
Quirks and bugs for Visual Basic.
File VBQUIRK.ZIP from The Programmer’s Corner in
Category BASIC Language
Quirks and bugs for Visual Basic.
File Name File Size Zip Size Zip Type
TPCREAD.ME 199 165 deflated
VBQUIRK.TXT 7639 2793 deflated

Download File VBQUIRK.ZIP Here

Contents of the VBQUIRK.TXT file

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
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 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
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)
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 only if no
Default command button exists on the form.

KeyUp/KeyDown/KeyPress events will be invoked for only if no
Escape command button exists on the form.

KeyUp/KeyDown/KeyPress events will not be invoked for .

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

 December 5, 2017  Add comments

Leave a Reply