Release Notes ooDialog 4.0.0
ooDialog 4.0.0 is intended to be the equivalent of the ooDialog shipped
with ooRexx 3.2.0 plus the ability to work with ooRexx 64-bit
installations. That is, it is the ooDialog from the previous millenium.
ooDialog 4.0.0 can be installed to any ooRexx installation, 4.0.0 or
Beginning with the release of ooDialog 4.2.0, the installation of
ooDialog has been decoupled from the interpreter. ooDialog 4.0.0
installs over the top of any ooRexx installation. It replaces the
version of ooDialog in the ooRexx installation with ooDialog 4.0.0.
This type of ooDialog installation is called an "independent" ooDialog
installation to indicate the ooDialog installation is independent of an
ooRexx installation and, to a degree, the version of ooRexx installed.
At the time of this release, 3 versions of ooDialog are being made
available as independent installations. These are ooDialog 4.0.0,
4.1.0, and 4.2.0. Going forward, ooDialog users will be able to install
any version of ooDialog they want to their ooRexx installation.
Provided of course that the ooRexx version meets the minimum required
version for the ooDialog version.
ooDialog 4.0.0 requires a minimum ooRexx version of 4.0.0.
The development work to move ooRexx 3.2.0 to 4.0.0 included the ability
to run as a 64-bit executable and the introduction of a new native API
interface. The new native API is far more robust than the old string
orientated API and makes writing external libraries much easier than the
Included in the new API was a way to compile old external libraries by
making very few code changes to the existing code. This technique
would allow the old library to work with a 64-bit ooRexx. ooDialog 3.2.0
was first converted to work with a 64-bit ooRexx using this method. The
ooDialog 4.0.0 code base is identical to this first conversion.
However, during the time getting ooRexx 4.0.0 to ship, the allure of
using the more powerful new APIs lead to enhancing ooDialog before
ooRexx 4.0.0 was released.
ooDialog 4.0.0 is for those users that are not happy with the enhanced
ooDialog shipped with ooRexx 4.0.0. That ooDialog is now called
ooDialog 4.1.0. Users not happy with ooDialog 4.1.0, but who need or
want to upgrade their ooRexx to 4.0.0, or any later version, can retain
the old ooDialog 3.2.0 behavior by installing ooDialog 4.0.0 to their
The ooDialog 4.0.0 code base is frozen. Bug fixes and enhancements will
not be made to ooDialog 4.0.0. There is one possible exception to this.
In order to compile ooDialog 3.2.0 for 64-bit, a few small code changes
were necessary. If a user can demonstrate a bug in ooDialog 4.0.0 that
did not exist in 3.2.0, and was caused by one of those small code
changes, the developers may consider a fix to ooDialog 4.0.0. There is
no strong commitment to do this however, it is completely at the
discretion of the developers.
Installation is simple, done through a typical Windows installer. Pick
the installation package that matches the bitness of the ooRexx
installation. I.e., a 32-bit package for a 32-bit ooRexx and a 64-bit
package for a 64-bit ooRexx.
The installer will detect the installed ooRexx, location and version.
If the ooRexx version is less than 4.0.0, or if there is no installed
ooRexx, the installer will abort with a message explaining the problem.
Otherwise the installer will replace the current ooDialog with ooDialog
Note that the actions of the installer are dependent on the version
of ooRexx, not the version of the installed ooDialog. For instance, if
the installed ooDialog is version 4.3.0, but for some reason the user is
not happy with that version, running the ooDialog 4.0.0 installer will
replace the 4.3.0 version with the 4.0.0 version.
At the time of the installation, *all* ooDialog programs must be halted
and the ooDialog PDFs must be closed if they happen to be opened.
Known Problems, "Gotchas," and Solutions with Independent Installations
The ooRexx installer creates a log of the files it installs. When the
uninstaller runs, the user can select to only uninstall files logged
during installation. An independent ooDialog installation may install
some example programs, documentation files, and shortcuts not recorded
in the log file. If at that point, ooRexx is uninstalled, these files
and shortcuts may not be deleted.
Before uninstalling ooRexx, install the independent ooDialog that
matches the ooRexx installation. I.e., if the ooRexx installation is
any 4.0.x, or 4.1.x ooRexx version, install the ooDialog 4.1.0
independent installation. Then when ooRexx is uninstalled, all ooDialog
files and shortcuts will be removed because the files and shortcuts
exactly match what was installed during the ooRexx installation.
After uninstalling ooRexx, manually delete any files in the old ooRexx
The independent ooDialog installation deletes the entire ooDialog
samples subdirectory tree. This will delete any personal files
that may have been put there after ooRexx was installed.
Do not put personal files in the %REXX_HOME%\samples\ooDialog
Before executing the independent ooDialog installer, move or back up
any personal files that may be in %REXX_HOME%\samples\ooDialog
Changes since ooDialog 18.104.22.16809
* The class .DlgUtil has been added with a single method: version().
This method is exactly the same as in ooDialog 4.1.0 and ooDialog
4.2.0 methods, allowing the programmer a simple way to check the
current ooDialog version from 4.0.0 forward.