Note that !EvntShell must be 'seen' by the Filer before running any EvntShell library based applications.
Documentation is supplied as text files and in !StrongHlp format inside the StrongHlp archive.
EvntShell2 Considerations for users of version 1
------------------------------------------------
If I was Microsoft I would probably call this file 'The EvntShell2 Migration Kit' but I'll spare you that.
The first thing to do is to backup your copy of version 1 and put it somewhere safe! Note that as the shared resource is still called !EvntShell you can get confused as to which copy of !EvntShell is actually the active one from the Filer's point of view. If in doubt double clicking SELECT on the one you want to use will sort things out - although the best solution is to let the Filer only see one copy.
You may notice is that ShellLibRT is bigger. Much bigger. The reasons are that it provides more functionality and it has been compressed differently in that BLibII commands have been left in and the lines have not been concatenated. This is so that I can normally only distribute ShellLibRT instead of ShellLib (which has become much much bigger!) and so that BLibII can process ShellLibRT properly.
This means that the WimpSlot in the !Run files will need to be increased to at least 224K. I strongly recommend that BLibII is used to extract only the necessary routines from ShellLibRT before distribution.
It is also important to load (or initialise if the library has been appended to the user application) extension libraries AFTER the call to shell_init. This is because shell_init sets variables that determine whether specific extension libraries are loaded which avoids the core library calling code in libraries that may not be loaded.
Had I have had my brain switched on while writing the new version I would have made notes concerning which routines have changes to the numbers and types of parameters but I didn't. Running an EvntShell version 1 application under EnvtShell2 will therefore throw up a few error messages about incorrect numbers of parameters to certain routines (especially connected with menus). Check the documentation for the latest list of parameters - I should stress this effects only six or so routines.
One I do remember is that MenuNew now has two extra parameters, so calls like:
Instead of storing window handles in the event block, the name of the window (actually the template identifier) is used. This means that events do not have to be deleted and recreated when window handles change which speeds things up. It also makes possible the 'Evnt Editor' to allow evnts to be attached before the program runs.
Most of the library has been rewritten in a modular object orientated sort of way. This makes the source code clearer, easier to modify, more reliable and bigger (unfortunately). More of the code has been moved into the extension libraries which means that the less used parts of the library are not loaded every time.
The range of Popups (dialog boxes or menus that allow the user to easily choose something) has been extended. Wimp colours, 24 bit colours, Outline fonts, list of text and dates may be selected in this way.
New events are supported, such as IconWatch which informs your application if the contents of an icon have changed, Pointer entering/leaving windows and a change of DeskTop font.
Sliders can now be vertical as well as horizontal.
The StrongHlp documentation has been rewritten for StrongHlp2 and is now neater and hopefully more complete.
The author can be contacted at the following address: