BlackBox Component Builder 1.7
Download Release Candidate
Migration from 1.6 to 1.7
BlackBox 1.7 contains in its root directory a detailed change list documenting all changes from 1.6 to 1.7. Most changes don't affect existing code but all existing code must be recompiled.
Migration problems detected by the compiler
IN to VAR
With 1.7 it is forbidden to use a variable declared as IN parameter as the receiver of a method call that expects a VAR receiver. You should change the IN parameter to VAR or the VAR receiver to IN in such a case.
With 1.7 it is forbidden to call the methods of a read-only variable if the receiver is declared to be VAR. So you should export such a variable by * or use IN for the receiver.
With 1.7 the WinNet.hostent definition was fixed, so you need to replace:
inaddr := hostentry.h_addr_list^^
inaddr := SYSTEM.VAL(WinNet.in_addr, hostentry.h_addr_list^^)
Migration problems NOT detected by the compiler
Underlined white space
Underlined spaces and tabs are now shown according to the defined format, i.e. they are underlined. So we recommend you to check your documentation files and/or program generated text files to prevent unexpected underlines.
Options for improvements after Migration
UTF-8 conversion is supported "out of the box" from module
Strings. So if you are using UTF-8 conversions embedded in your own code or from some third-party modules, you can switch to the new Strings procedures.
1.7 supports calling URLs (e.g. web pages, E-mails), so now you can be sure that the user can call your link from documentation even if external CPC subsystems such as Info or i21Sys are not installed.
Dialog.OpenExternal procedure to call a URL.
Config & Converters
The new Converter.next* export allows uninstalling and ordering converters "on the fly" from any module not just from the Config module used at BlackBox startup.
Useful tools for migration
There is the tool for batch compilation of subsystems: ypkDevTool.
There is bug report about an TRAP during creation of folders.