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)...
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...
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...
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...
Every innovation that has been added to Xbase++ over the years followed the same guiding principle: give developers new power, but never take away any code of the past. New technologies are added not as an isolated island, but integrated into the existing technical landscape. Put simply, we...
The concern that is everywhere and nowhere
A line-of-business REST service usually has a clear job: read a customer, store an order, search an article. That is the business logic. But before any of it may run, the same questions have to be answered on every single request:
Is the caller...
EEP – Early Experience Program
An early-access program from Alaska Software – a kind of beta – in which selected enterprise customers can try out and use the new Xbase++ V3 code base in their own, real projects before the official release.
AAI – Agentic AI
A new framework within Xbase++ for...
EEP – Early Experience Program (Frühzugang-Programm)
Frühzugang-Programm von Alaska Software – eine Art Beta –, in dem ausgewählte Enterprise-Kunden die neue Xbase++ V3-Codebasis schon vor der offiziellen Veröffentlichung in eigenen, echten Projekten ausprobieren und einsetzen können.
AAI –...
Phase 1: Domain Interface Services When Business Logic Lives in a DLL
Scope
This article describes Phase 1 of a desktop-solution modernization via microservices integration for a system where the business logic exists in a DLL. In this scenario, connecting a microservice to the monolith means...
Every innovation that has been added to Xbase++ over the years followed the same guiding principle: give developers new power, but never take away any code of the past. New technologies are added not as an isolated island, but integrated into the existing technical landscape. Put simply, we...
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...
Introduction
Code signing is one of those topics that seems straightforward on the surface — you get a certificate, you sign your binaries, done. In practice, understanding why you sign, what you sign, and who should sign what requires a clear mental model of how trust actually works on Windows...
For decades, multi-processor programming was impractical for line-of-business (LOB) applications like those built with Xbase++. Traditional LOB applications maintain extensive shared state—database connections, cached records, shared data structures, and business object instances that multiple...
Purpose
This package contains a source code sample demonstrating the Alaska Xbase++ PreProcessor API. The API exposes the compiler preprocessor to Xbase++ applications, enabling runtime use of preprocessor features such as:
Expanding #define values
Applying "#command/#translate rules from...
The `AsyncResult` class in Xbase++ build# 2383 and higher provides a powerful framework for managing asynchronous operations with a standardized interface for handling both successful results and error conditions. This guide explains how to use the class effectively and covers its two primary...
Overview
This document serves as a cheat sheet for the syntax of the regular expressions that are supported in the Xbase++ Workbench "Find Text" dialog.
By checking the item "Regular expressions" the dialog allows users to define simple regular expressions for searching in the current file or...
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...
When displaying images in Xbase++, you might encounter image files that appear rotated or flipped. This often happens with JPEG pictures taken with mobile phones whose cameras tend to save pictures with a constant aspect ratio, regardless of the device's orientation at the time a picture is...
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)...
With the release of Xbase++ Build#2187, new features such as SmartOrders and RemoteFilters have been introduced, bringing significant changes to how ISAM-compatible orders are implemented. As a software developer working with Xbase++, it's a good idea to understand these changes, especially when...
Reg-free COM allows using a copy-deployment for applications depending on a COM/ActiveX component, which means that the COM/ActiveX component can be used without prior registration. The same process also can be used for auto-registering .Net-based components compiled to expose themselves to...
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...
For developers working with Xbase++ on Windows operating systems with more than 32 logical processors, this article is a must-read as it explains how the SetLogicalProcessor() function operates in general and specifically with more than 32 logical processors. This function is designed to manage...
When working with databases, one of the most critical and costly tasks developers face is data model maintenance. The ease with which data structures can be managed can make a significant difference in the amount of time and effort developers spend. In this article, we will examine the...
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...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.