VB/VBA Programming
 

 

Experience Level:    8 years; expert

References: MSDN

Demos:

If you will allow me to run an ActiveX object on your PC, I'll demonstrate a small and not terribly interesting demo of something I wrote in VB.

Comments:

Complex products, ActiveX controls, COM objects, API calls, graphics, ...  

Not only do I have extensive experience with the Windows versions of VB, I am one of the few people I have encountered with any VB for DOS experience. <grin>

Opinions:

In all versions of VB except a beginner's version, Option Explicit and Option Base 0 should be the defaults (if not mandatory).  I now explicitly dimension arrays to avoid porting problems:

     Dim myarray(0 to 10)...

The VB developer who decided that arrays in VB should be only extendible in the last dimension should be severely punished.  It leads to nonsense like the fact that GetRows() operating on a database to return 5 rows of 2 columns returns an array x(0 to 1, 0 to 4) (because each row extends the array).  Further, applications manipulating multi-dimensional arrays that provide support for expanding in multiple dimensions must provide this functionality themselves.  EPS, a much older programming language, allowed you to use a command like:  Extend array-x, dimension-y, additional-selectors, data.