***************************************************************************
*
*  Robin W. McKean
*  1030 Deer Hollow Drive
*  Woodstock GA  30189
*
*  MCLIST.OCX    V1.25.0000
*
*  Multi-Purpose List Box Control
*
*  Compuserve:  72622,1403
*  Internet:    72622,1403@Compuserve.com
*
***************************************************************************

IMPORTANT NOTE:  This software has an expiration date.  See EXPIRATION
below.

Welcome to the first release of McList Custom 32 bit control for Visual
Basic 4.0.  There is some important information you need to read before
using the new OCX in your projects.

First of all, I had to change the name of the control.  A curse on
Desaware for stealing my file name and releasing it first.  The end
of this document will walk you through, step by step, in converting
a VB 3.0 application with MList to a VB 4.0 application with McList.
I truly apologize for any inconvenience this might cause you.
( We hates'em, bagginses, bagginses).

Second, this release is different from the previous version of McList.
You should unregister the old version before registering the new.  I
will eventually have a setup program which does all of this.  (What a
great idea!)  The conversion process of converting from the beta release
of McList to this release is detailed below as well.

This is a production development quality release of McList.  As with
anything I write, it isn't gauranteed to do anything.  However, many
of you out there are aware of my skills and past products and know that I
do release some quality stuff :-).  I didn't get as far along with McList
as I would have liked.  I have completed both the setup and the property
pages in this release, but haven't gotten to the help yet.  That is next.
I will follow this by putting more properties and methods into McList
as well as adding 16-bit and ActiveX support.

Here's a quick run down of McList features:

*  All properties of MList are in McList
*  All methods of MList are in McList
*  Property pages have been implemented.
*  Setup program is done (yea!)
*  The help file has not been rewritten and converted yet.

I have included MY latest version of MList 4.61 in the zip file so you
can get the read.me and help file which came with the VBX.  For now,
use this as a reference for the OCX.

BACKGROUND

The whole bloomin reason McList has been so late is because there is a bug
in VB 4.0 which kills owner draw list boxes and other controls, especially
if you have more than one control on a form.  I worked very hard and lost
many nights of sleep trying to overcome this problem.  Halfway down the
road, I backtracked, and then backtracked again, until recently, I realized
the problem could be fixed by a few simple code changes in VB!

IMPORTANT DEVELOPER'S NOTES  *********************************************

To get around the problems noted above, you must set each line height when
you add a line to the list box, and every list box must be of Variable
ListBoxStyle.  If you want the default line heights, then this bug will
not affect you.

*************************************************************************

INSTALLING MCLIST  ( If you are installing by hand )

This part should be pretty easy.  If you unzipped all of MCLIST100.ZIP,
then there should be three files you will need in the current directory:
regsvr32.exe, mclist32.ocx, and mclist32.lic.  You register the control
for use by running regsvr32 as follows:

        regsvr32.exe mclist32.ocx

That's all there is to it.

CONVERTING Visual Basic 3.0 Projects to Visual Basic 4.0

This isn't as difficult as it may sound.  Depending on the size of your
project, it can be tedious however.  The first thing you will need to do
is let VB 4.0 know that it should convert MList.VBX to McList32.OCX.  You
do this by adding a line to Visual Basic 4.0's INI file.  It is located
in your Windows directory.

Open VB.INI with your favorite editor.  There is a section named
VBX Conversions32.  At the bottom of that section, you will need to add the
following line:

mlist.vbx={028F0840-5923-11D0-B461-444553540000}#1.0#0;[d:]\<full path>\mclist32.ocx

Replace [d:] with the drive and <full path> with the path where you unzipped
the MCLIST100.ZIP file.  Again, it is important that the license file and the
OCX file be in the same directory.

That's all there is too it as far as VB 4.0 is concerned.  The next step is
to convert your projects.  This is where it gets tedious.  First, you must
save all of your Forms as text.  Then, you will have to go in with a text
editor and in each form where you have an MList, you will need to change the
text MListBox to McList.  There reason is, VB stores the class (control)
name associated with a control in the form.  Since we changed ours from
MList to McList, the class name changed from MListBox to McListBox.  That's
all there is too it.  You should be able to now load the VB 3.0 project
into VB 4.0 and have all of the MList controls converted for you.

I went through great pains to ensure that all properties and methods were
fully backward compatible.  Unlike some other "professional" companies, which
will remain nameless.

BETA CONVERSIONS

Beta users, don't forget to unregister McList before registering the new one.
While I don't think any damage will be done if you don't, it is always a good
idea to keep your registry clean.

After unregistering the old OCX, DELETE IT.  Register the new one with
regsvr32.exe as shown in the previous section.  Now, it is time to convert
your projects.  It might be a wise idea to back it up first.

Load your old project into Visual Basic.  Ignore any error messages you
get about McList not being loadable and continue to load the project all
the way.  Hit CTRL+T to bring up the custom control window.  Select McList
Control so it is added to the project.  Select File/Exit.  When VB prompts
you to save files, chose NO on all files expcept your project!!!!!!!!

Now, the hard part, as before, you have to open each form with an McList
on it and convert the name.  The old name is MCLISTLib.McListBox <control name>.
Change this to MCLISTLib.McList <control name>.

I'm truly sorry about all this trouble.  This will not happen in the future.

Save the file and proceed until all are done.  You may now reload your project
into VB without fear of losing controls.


FEEDBACK

Please send me email, mail, or even call if you need to.  I need all the
help I can get, and I truly enjoy working with other professionals around
the world.

EXPIRATION

You cannot develop with McList without the license file.  There is a time
bomb in the control which will cause it to expire after July 31, 1997.
Please register by then for a full release capable control.  Send me
mail if you want me to e-mail you the software, otherwise, it will come
via snail mail.


DISTRIBUTION

Here is a list of the files Microsoft says is required by the OLE Control.  

MFCx0.DLL	MFC DLL (ANSI)
MFCx0U.DLL	MFC DLL (Unicode)
MSVCRTx0.DLL	C run-time libraries
OLEPRO32.DLL	OLE property frame and standard types support
REGSVR32.EXE	Control registration utility

In our case, it would be MFC42.DLL, MSVCRT40.DLL, and OLEPRO32.DLL.  
We don't need MFC40U.DLL (At least this wasn't installed on my 
development machine.)

REGSVR32.EXE needs it's own DLL's, namely MSVCRT.DLL and MSVCIRT.DLL.

RELEASE SCHEDULE

First Quarter of 97:  Full production OCX, help files, property pages
                      ActiveX Support and a 16-bit control.
Second Quarter of 97: Enhanced methods and properties now available through
                      OLE and OCX functionality.

Good luck, and I thank you.

Robin W. McKean

