News

This new version of CodeSnip adds the option to close the application when an unexpected exception (i.e. a bug) is trapped. This was added because sometimes it is unsafe to continue after such a bug. There were some other small tweaks - see the program's change log for details.

v3.8.3 adds a button to the "Compile" tab of the Snippets Editor that enables the unit used to test compile a snippet to be viewed. This should help when trying to debug snippets. Also the code used to manage background threads was improved and simplified. Bugs in the trapping and reporting of exceptions raised in threads were tracked down and killed.

This release improves how errors are reported in the Snippets Editor and displays the caret position in the Extra Information edit control. URIs are now always encoded according to RFC3968. Other than this there was a siginificant amount of source code refactoring and tweaking.

Changed the type of the ResType and ResName parameters of the ResourceExists and ResourceExistsEx routines from PAnsiChar to PChar to enable compilation with Unicode versions of Delphi. Thanks to Cirec for pointing this problem out.

This release of CodeSnip fixes a reported bug in the way the main window displays syntax highlighted source code: user changes in the appearance of symbols and identifiers were being ignored. Also changed the Test Unit view dialog box to use the user defined syntax highlighter settings. Finally, the credits in the About Box program tab were updated.

This new release of the MD5 unit adds new overloaded versions of the Calculate and Process methods of TPJMD5 that can process a specified number of bytes from a given starting index in a byte array. The release also fixes a bug in the DUnit test project the prevented it from compiling as a console application. New unit tests for the new methods were added.

This release of the Version Information Component make the TPJVersionNumber record that holds numeric version information data easier to work with. For compilers that support advanced records operator overloads have been added to TPJVersionNumber that enable records to be compared using the =, <>, <, <=, > and >= operators. Additionally TPJVersionNumber records can be implicitly cast as strings, when the record's data is formatted as a dotted quad, e.g. '1.2.3.4'. To provide similar support for earlier compilers, two new helper functions have been added: CompareVerNums compares two version number records while VerNumToStr formats a version number as a dotted quad.

The constants used to define the size of the buffers to receive user names and computer names have been changed according to Microsoft documentation. In the case of UserName this fixes CodeSnip issue ID 3094314 (http://bit.ly/bEqSZA). Thanks to Thierry Bothorel for pointing this out.

This wizard works only with Delphi 7, which is now quite old. Furthermore there have never had to be any updates to the wizard since the first and only release: it is quite simple and seems to just work. Therefore I'm freezing development of this code. If you want to make changes, there is enough code in the download to do that.

Release 2.0 of the Environment Variables Unit adds an enumerator to the environment variables component that supports the for..in construct of Delphi 2005 and later to be used to enumerate environment variable names. New routines were also added.

Release 1.3.2 of the Environment Variables Unit fixes a minor bug in the ExpandEnvVars routine which was causing one too many characters to be allocated in the string containing the expanded environment variable. Thanks to "e.e" for reporting this.