Best practice

Best practice notes and information related to Xbase++
I Love Xbase++ (ILX)
The portal for Xbase++ developers worldwide
Steffen F. Pirsig
2 min read
Views
2,231
Background The Advantage Database Server (ADS), commonly used with Xbase++, has long served developers with its robust ISAM capabilities and data dictionary features. However, when it comes to enforcing data integrity rules, ADS has some notable limitations—it does not support constraints such...
Steffen F. Pirsig
3 min read
Views
2,830
Reaction score
1
Introduction to Software Modernization Today's modernization of legacy software systems has become a critical decision for any organization. The choice between software migration and re-implementation is a strategic one, each with distinct advantages and challenges. This discussion is...
Steffen F. Pirsig
4 min read
Views
2,907
Reaction score
1
In software development, a monolithic object or class refers to a design where a single class performs a variety of functions that could logically be separated. These classes for example handle data access (like database queries), business logic (application-specific rules), and sometimes even...
  • Featured
Steffen F. Pirsig
Updated
3 min read
Views
2,154
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...
  • Featured
Steffen F. Pirsig
3 min read
Views
2,601
Reaction score
1
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...
Andreas Herdt
2 min read
Views
2,383
Introduction Xbase++ is a versatile programming language that allows developers to create multi-threaded applications easily. In this article, we will explore how to use the Thread class in Xbase++ to create and manage an operating system thread capable of executing different tasks. We will...
Andreas Herdt
3 min read
Views
2,722
Background The SQL command ALTER TABLE can be used to modify the structure of an ISAM emulated SQL table on the PostgreSQL server. However, in order to preserve the ISAM emulation characteristic, some details have to be taken into account which are described in this article. This article does...
Steffen F. Pirsig
4 min read
Views
2,372
Background One of the largest differences in how data is managed between SQL and ISAM is how deleted records are handled. In short: ISAM: does mark a record as deleted. This way it is out of scope. To really get rid of the record you need to do a time consuming PACK operation. SQL: does really...
  • Featured
Steffen F. Pirsig
2 min read
Views
2,767
Background As you may have already realized, a PostgreSQL server or any SQL server in general is a "relatively" complicated story. The reason for that is basically that the server with the planner tries to replace you as a human. In ISAM you have the data model in mind, also the requirements of...
Jeffrey Wulf
3 min read
Views
2,573
Xbase++ provides INIT procedures, a concepts which allows by a simple declaration of INIT before the procedure keyword to ensure that this procedure is executed before your procedure main is executed. An example is shown below. INIT PROCEDURE startupMyModule() // your code is RETURN...
Andreas Herdt
3 min read
Views
3,935
Background The PostgreSQL columns of type TEXT and BYTEA allow the storage of large binary data (e.g. PDF documents or images) up to 1GB. If such column types are used in a table their data is accessed like any other data of the record when using the Xbase++ ISAM emulation. With each...
Steffen F. Pirsig
3 min read
Views
3,054
Very often applications support multiple tenants. A financial accounting solution used by a CPA is a typical example for that. However, there are other scenarios where the ability to switch between several tenants/customers is required. The following note gives an overview about the options with...
Jeffrey Wulf
1 min read
Views
2,592
Rules: Avoid the need for comments, write clear, readable and self describing code instead Comments never describe the code and its syntax Use comments to compensate for your failure to express yourself in code properly. Do not write informative comments such as: // returns normalized value...