devxlogo

We are an award-winning tech entrepreneurship website where trusted experts can provide value globally.

Since 1998, DevX has helped people start businesses, build websites, and provide enterprise technology to people globally. Interviewing the likes of Microsoft’s co-founder, Steve Ballmer, the publication brings comprehensive, reliable, and accessible insights to the Internet.

devxlogo

Trusted for 26 years

Over 30K Articles

1M+ Readers

Expert-reviewed

10K+ Tech Terms

As seen in:

microsoft logo
business_insider_logo
wired_logo
berkley
arstechnica_logo
hackernoon

The Latest

Writing Add-ins Can Be Tricky

Writing add-ins for Visual Basic 4.0 can be challenging, rewarding,and tricky. If you are not careful writing add-ins, you can causeVB to do strange things and even abort. Although I’m

Determining If An Object Has Been Set

VB4 provides lots of new capabilities to use objects. Unfortunately,all of them require the object to be set beforehand, which isn’talways feasible. VB provides no way to see if an

Incorrect API Listings

APILOD16.EXE and APILOD32.EXE access the file WIN32API.TXT toallow the programmer to paste the TYPE declarations needed tocall the Win32 API. The file WIN32API.TXT incorrectly allots a LONG field to eachbit

Change the MousePointer to Prevent User Input

Because setting the MousePointer property for a form only changesthe shape and does not prevent the application from acceptinguser input from the mouse or keyboard, I have developed this tip.The

Speed Your Animations and Save Memory

Tired of loading icons or bitmaps or creating many images withthe several styles of pictures in form modules that blow up yourapplication and slow it down in VB3? If so,

Avoid Update Errors In Access Databases

Avoid “Couldn’t update; currently locked by user ‘name’ onmachine ‘machine’ ” error in VB4 when two or more applicationsaccess the same MS Access database table. For the given table, a

Be Nice

If you can’t think of anything nice to say about somebody, getto know them better.

Stuck with Paste

When you use some custom controls like QuickPak Professional byCrescent it’s impossible to use the shortcut “Ctrl+V”for “Paste.” “Ctrl+V” allows you to pastetwo times the text of the clipboard. You

Unloading Out-of-Control DLLs

When I work with VB under Windows 95, I’ll often do somethingwith a program that causes Windows 95 to be unstable. Normally,I would shut down Windows 95 and restart to

Creating Inner Joins In An Access Database

This seemingly undocumented SQL table qualification syntax mightbe useful to access an external table by using the ‘IN’ keyword.I had used this ability before, but kept having trouble with joins(probably

Moving Items in a List Box

To change the item’s location by dragging the mouse in a listbox, follow this tip: Sub List1_MouseDown (Button As _ Integer, Shift As Integer, X As _ Single, Y As

Sequential Navigation of a TreeView Control

While the TreeView control with its associated Node objects isa far cry better than the VB3 Outline control, it lacks a methodfor sequentially traversing the tree, as if you were

Standard Math Problem

A program originally written using the Borland C++ Compiler hastwo problems in Visual Basic 3.0, Standard Edition. This programuses trigonometry to calculate the distance between two points,when you know their

Highlighting a Row in a Bound DBGrid

To highlight the row containing the active cell in a bound DBGrid,add the record set’s current bookmark to the grid’s SelBookmarkscollection: Private Sub DBGrid_RowColChange _ (LastRow As Variant, ByVal LastCol

Identify Networked CD Drives

The 32-bit API is much richer than the 16-bit API. However, theGetDriveType still reports networked CD drives as just a DRIVE_REMOTE(i.e., a networked drive). While true, it is not particularlyhelpful.

Leap Year Rules

One of the trickier parts of handling date values is dealing withleap years. Everyone knows that every fourth year is a leap yearin which February has 29 days instead of

Activating a Previous Instance of an Application

To prevent users from launching multiple instances of your application,check the PrevInstance property of VB’s App object; if the propertyis True, the program is already running. To activate the previousinstance,

Use Your Own Popup Menus in VB4

In VB4 if you want to show a popup menu for a text box, a system-providedcontext menu appears first, and your popup menu does not appearuntil you close the system

Databound Grid Bug Solution

A severe bug in VB4 appears when using the Databound Grid withmodal forms. Create 3 forms: form1, form2 and form3. Put a buttoncommand1 on each of the forms. In the

Identifying a Generic Control at Run Time

When a procedure can operate on multiple types of controls, youcan use VB’s TypeOf function to determine a control type at runtime: Function myFunc(ctl as Control) ‘ This code works

Hexadecimal Color Constants

Properly designed Windows programs should change their own colorsaccording to the system colors. One of the reasons why developerstend to forget that part of design is that it is not

Undocumented Feature Logs Jet Queries

Jet 3.0 includes an undocumented feature that lets you log Jet’soptimization plan of queries. To enable this feature, you mustcreate this registry key using Windows’ RegEdit program: HKEY_LOCAL_MACHINESOFTWAREMicrosoft _ Jet3.0EnginesDebug

Simplifying the Condition-Part of an If statement

When you write an If statement such as: If Category = “CM” or Category = “M2” or Category = “P1” or Category = “ZZ” thenProcessEmployeeEndif it can be simplified by:

Eliminating the If Statement Wherever Possible

If you have to assign True or False to a variable after testinga certain condition, then the If statement may be done away withaltogether. For example, if you have something

Avoid Redundant Execution of Code

Most collections are zero-based. The COUNT property returns thenumber of members of a collection, as opposed to the highest membernumber. So when we see code that loops through all the

Set Forms to Nothing with Caution

It’s a good idea to set your form variables to Nothing to recoverall memory that was allocated for the form module. Executing SetForm1 = Nothing for a loaded form, however,