Regular expressions for missing parameter modifiers


This expression locates most candidates for a missing const modifier for string types.


Same as above, also includes type names beginning with the letter I (coding convention for interface types).


 // no match
procedure Test(const Arg: string);

 // match
procedure Test(Arg: WideString); 

// no match
procedure Test(const Arg: string; var Arg2: WideString); 

// match
procedure Test(const Arg: string; Arg2: AnsiString); 

Tested with GExperts Grep Search, which does not support multiline expressions.

Usage example with GExperts Grep Search


Habari Client for ActiveMQ 5.0 Milestone 1 released

Habarisoft released the first milestone release of its Object Pascal Habari Client library for the popular Apache ActiveMQ message broker.



  • added logging of broker version string and Stomp protocol version number (requires slf4p logging)
  • added logging of detected message type of incoming Stomp message (text, binary, object, map)
  • added a check for unsupported character sets in the content-type header of incoming text messages
  • added a DUnit/FPCUnit base test class which provides a parameter-compatible ExpectException method for FPCUnit
  • added a warning at compile time for Free Pascal 3.0.0, since a bug in LocalTimeToUniversal function may cause wrong message expiration time (bug has been fixed in Free Pascal 3.0.2)
  • tested with Free Pascal 3.0.2 and ActiveMQ 5.14.3
  • tested with Indy 10.6.2 v 5395 (contained in Delphi 10.1 Berlin)
  • tested with IPv6
  • removed Free Pascal 2.6.* and non-Unicode Delphi support, code cleanup

Habari Client for ActiveMQ 5.0 Milestone 1 is available for registered users now. Habari Client libraries are also available for the free open source message brokers Apache ActiveMQ Artemis, Open MQ and RabbitMQ.

About the Apache ActiveMQ free open source message broker

Apache ActiveMQ™ is the most popular and powerful open source messaging and Integration Patterns server. Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License.

ActiveMQ logo

Free Pascal 3.0.2 released

FPC version 3.0.2 has been released. According to the Free Pascal web page, this version is a point update to 3.0 and contains bugfixes and updates packages. There is a list of changes that may break backward compatibility. You can also have a look at the FPC 3.0.2 documentation. Downloads are available at the download section. Update: some download links still point to the 3.0.0 version. Downloads are also available on the main (Hungarian) server

ScroogeXHTML for the Java™ platform 6.3.0 – fast RTF to HTML5 and XHTML conversion

Habarisoft released version 6.3.0 of its RTF to HTML5 and XHTML converter library, ScroogeXHTML for the Java™ platform. The new version introduces 3 enhancements.

You can evaluate the new release with the online converter demo, which displays the configuration property values of the converter, and allows to modify many of them.

ScroogeXHTML has its own blog now, which you may subscribe to receive release announcements and other news at



Habari Client libraries release 2017.02

Habarisoft released new versions of Habari Client libraries for Delphi and Free Pascal application integration with free open source message brokers, including Apache ActiveMQ, Apache ActiveMQ Artemis, OpenMQ and RabbitMQ.

Continue reading

Daraja Framework RESTful extension 2.4 released

Version 2.4 of the RESTful extension is compatible with the new 1.2 release of Daraja HTTP Framework. It uses the TdjRequest and TdjResponse types instead of TRequest and TResponse. It also uses const string parameters to reduce the overhead caused by refrence counting.

Continue reading

Daraja Framework 1.2 released

Habarisoft released Daraja Framework 1.2, with updated example projects, DUnit / FPCUnit test enhancements, updated documentation, core library performance fixes, and other changes. The Twitter Bootstrap demo project (screen shot below) uses a single code base for Delphi and Lazarus. Also available is a new release of the Daraja Framework RESTful extension.


Daraja Framework unit test enhancements

The Daraja Framework unit tests (DUnit/FPCUnit based) are now more self-documenting. A new HTTPTestCase test base class provides methods CheckGETResponseEquals, CheckPOSTResponseEquals, CheckGETResponseContains, CheckGETResponse404, and others, which allow to write more concise unit test methods.
The changes are available in the master branch, a snapshot is available for download here.

Continue reading