MWA Software are best known as a supplier of JPEG, GIF and Text Editing software components for Borland's Delphi and C++Builder Development Tools. We also supply a general purpose text editor ideal for editing very large text files, and distribute Merge Modules for the Firebird RDMS. We also develop bespoke database and real time software solutions.
IBX for Lazarus is a version IBX ported to the Lazarus IDE by MWA Software.
MWA Software was launched in 1996 and is the software development division of McCallum Whyman Associates Ltd (MWA).
Firebird Pascal Client API package (fbintf) release 1.0.2 is now available
MWA Software is pleased to announce the release of its Firebird Pascal Client API package (fbintf) release 1.0.2. The package has been updated to support Delphi Win32 (from Delphi 2010 onwards) in addition to the Free Pascal Compiler (3.0.0 onwards). The package is otherwise functionally identical to release 1.0.1.
The Firebird Pascal Client API package provides common Pascal language bindings to the Firebird API that are independent of the Firebird API version. Both legacy and Firebird 3 APIs are supported. The fbintf package provides the Firebird API in a format where all data types for SQL data, interface parameters and results are native Pascal types, including all parameter blocks and database information. The Pascal API is pitched at a similar level and purpose to the IBPP Firebird API provided to the C++ world. It is a required dependency for version 2 onwards of IBX for Lazarus, and is provided as both a standalone package and as part of IBX2.
The Firebird Pascal API is intended to be simple to use and to place the minimum burden on the API user when it comes to managing the Firebird client library and the various Pascal objects that are created to provide the API. It is implemented as reference counted COM interfaces which, for the API user, are as easy to use as other managed types such as AnsiStrings and dynamic arrays. The user only needs to worry about accessing and using the interface; disposing of interfaces is performed automatically whenever an interface goes out of scope. It is intended to be a full implementation of the Firebird API, including events, services, blobs and arrays.
The package may be downloaded from https://www.mwasoftware.co.uk/fb-pascal-api
A comprehensive user manual fully describing the API is available from https://www.mwasoftware.co.uk/documentation
IBX2 is now available
MWA Software is pleased to announce release 2.0.2 of IBX2 for Lazarus. it is available here.
IBX2 is a major update to IBX 1.4.2 and includes support for both the legacy Firebird Client API and the new version 3 Firebird Client API. It also includes support for Firebird arrays. The documentation has been extensively revised and improved as well as the many example applications. The MWA Software website for IBX has also been fully updated. All documentation is now online and a public subversion repository is now available supporting check out and browsing of all previous releases as well as the current development version.
IBX2 has been through an extensive period of field testing. The 2.0.2 update has only a few minor changes to 2.0.1; IBX2 is no longer on pre-release and is a recommended update. A big thank you to those who supported IBX2 field testing and provided bug reports. A blog format article is also available on the development of IBX2.
All users of IBX and Lazarus 1.6.x/FPC 3.0.x should upgrade to IBX2 as the latest version of IBX for Lazarus. An upgrade guide is provided as part of the IBX for Lazarus User Guide.
The 2nd Pre-release of IBX2 is now available for download
MWA Software is pleased to announce the 2nd pre-release of IBX2 for Lazarus. it is available here.
This second pre-release fixes several problems with the first pre-release including an issue with processing large blobs (> 64K) using the FB3 API, and event handling. Issues with Character Set NONE have also been resolved.
This version also sees considerable enhancement to TIBExtract and TIBXScript. TIBExtract has been updated to ensure proper dependency order with the extracted SQL. Data extract now includes generator values, binary blobs and arrays. The latter two data types are extracted as text objects using a simple XML format. TIBXScript has been updated to support the processing of embedded XML values as exported by TIBExtract, as well as interactive use, and support for Create Database, Connect and Drop Database statements.
The changes to TIBExtract and TIBXScript can be seen in the updated example program "fbsql". This now includes the capability to dump an entire database including binary blobs and arrays into a single text file and to recreate the database by reading from such a text file. While less compact than gbak format, this nevertheless is potentially very useful for tasks such as complex DDL changes with multiple dependencies, or removing not null constraints. fbsql can now also be used interactively from the command line.
Although nearing stability, a further period of field testing is believed appropriate before IBX2 is declared suitable for operational use.