Featured content

I Love Xbase++ (ILX)
The portal for Xbase++ developers worldwide
Xbase++ V3 supports multithreading in two distinct runtime modes: single-processor mode and multi-processor mode. The mode is selected at link time depending on the application type. This article describes the technical characteristics of each mode, when each applies, and what developers need to account for. Single-Processor Mode (Multithreaded/Single-Processor) In single-processor mode, the application runs multiple threads, but only one thread executes at any given moment. The operating...
Article 'Understanding Member Variables and Visibility Design in Xbase++'
Introduction When working with object-oriented programming (OOP), the concept of member variables and their visibility is fundamental. Xbase++ follows these principles, offering various visibility levels for member variables in classes. This article intends to explore these concepts in the context of Xbase++, targeting coding practitioners in business application development. Our goal is to clarify when to use different visibility levels for member variables, enhancing your software design...
Article 'Remote Filters in Xbase++ with PostgreSQL ISAM Emulation'
Xbase++ developers often use ISAM (Indexed Sequential Access Method) for data management because of its efficiency and straightforward approach to handling database operations. Moving to PostgreSQL, a robust SQL database, offers enhanced capabilities but requires an understanding of new concepts, one of which is the use of remote filters. In the context of PostgreSQL's ISAM emulation, remote filters play a fundamental role in ISAM-based data query optimization and performance. The basic...
Article 'Using SQL Constraints for Data Integrity in Xbase++ with PostgreSQL'
Background Xbase++ allows seamless integration with SQL backends like PostgreSQL using the DacSession() object. When working with SQL databases, enforcing data integrity through application logic alone is not always sufficient. Native SQL constraints (such as CHECK, UNIQUE, or FOREIGN KEY) ensure that the database maintains consistent and valid data, even when the application logic fails or behaves unexpectedly. Example Code Below is a code snippet that updates the totalsales field in the...
Article 'Why re-implementation of software systems so often fails'
The re-implementation of existing legacy software systems often faces significant challenges, and understanding these can illuminate why such projects frequently fail. This little write-up is far from complete but tries to create awareness regarding these important and very often underrated challenges. We will conclude with a comparison of migration strategies with their monetary and risk advantages. Challenges in Re-Implementation of Legacy Systems Understanding Original System...