This chapter presents the work I have done until today concerning the construction of an information resource on the changes in MB since version 3.00. It is a lengthy procedure and anyone wishing to contribute to it is welcome to offer me directly his contribution.
The essential sources are some files that come with MI or MB and that should reflect the state of the version they come with. It is worth noting that none of these files has its version as part of its name and that most of the time the version indicator that is in the file header is practically never updated. They have to be handled with care in order to safeguard their origin. With their identification, I have given the reasons they are included in this work.
1 - errors.doc Error codes are often used in error trapping subroutines to decide on the action to be taken.Available compilations
2 - icons.def Icon codes are the basis of buttonpads and added buttons to existing pads.
3 - mapbasic.def This definition file is one of the bases of the 'Evolution of MapBasic language elements from v. 3.00 to v. 6.5' . It will not be the object of a separate document.
4 - menu.def It contains all the equivalents between names and numeric codes of menu items. Important if one uses the Run Menu Command statement in a MB app.
5 - mapinfow.mnu This is a 'language' file with all the menu specifications. Menu items are called by their codes. It is not a definition file and would be less valuable to the programmer if the menu.def file was complete. In v6.0 and v6.5 there are several items codes that are not included in the menu.def of the same version.
I have undertaken several compilations in the specific context of the Windows O/S, the most important being the changes that occurred to the elements of the MapBasic language itself. They are all available and all open for corrections. As needed changes will be uncovered, they will be posted in Notes to Evolution of MapBasic. that is a simple html file recording adjustments to make to the pdf files until their next edition. All these documents can be consulted directly on line and saved on your own machine. They are also available as zip files from the Direct Download page
Evolution of MapBasic Part 1 : MapBasic Language
deals with functions, statements, clauses and procedures, and is an attempt at identifying all the key words and their range of acceptability. The main source of information were the Help files and the MB reference books.
Evolution of MapBasic Part 2 : Menus, ShortCut Menus and ButtonPads
is the area with the most surprises. The v6.0 and v6.5 define files are very incomplete compared to the available numbered items in the mnu file; several items are not used in any of the menus or buttonpads; there are still provisions for backwards compatibility with pre-Windows MI and several elements seem to have been available before they were documented and announced. The fact that there were two sources of information put the MI documents under a critical light and revealed many flaws.
Evolution of MapBasic Part 3 : Cursors, DrawModes, Icons
lists all those elements. Because of the compactness of the numbering system in the dll, the additions are always done at the 'end'. There are very few new icons since the version 4.0 that has added many 'ornamental' rather than 'operational' icons.
Evolution of MapBasic Part 4 : MapBasic Errors
shows clearly that errors reflect the evolution of new features in MI. The list increases all the time but it is limited to a special numbered domain (from 301 to 1999) of the MIRESnnn.DLL file. There are many gaps and logic does not seem to be prevalent in the numbering scheme. The confrontation between the contents of the errors.doc file and of the corresponding MIRES file revealed that several "errors" had been encoded before they were announced.