Guides and Intro

Guidance and introductionary articles
I Love Xbase++ (ILX)
The portal for Xbase++ developers worldwide
Steffen F. Pirsig
2 min read
Views
109
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...
Andreas Herdt
2 min read
Views
138
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...
Steffen F. Pirsig
4 min read
Views
656
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...
  • Featured
Jeffrey Wulf
3 min read
Views
3,496
Reaction score
1
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)...
Jeffrey Wulf
3 min read
Views
2,450
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...
  • Featured
Steffen F. Pirsig
3 min read
Views
2,589
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...
Steffen F. Pirsig
3 min read
Views
3,474
Reaction score
1
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...
Jeffrey Wulf
Updated
2 min read
Views
3,240
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...
Frank Grossheinrich
4 min read
Views
2,867
Reaction score
1
You often read "ISAM" in newsletters and other communications from Alaska Software. And many people have heard it or know it from the inside out, but someonly have a vague idea of what it means. If you belong to this group, then it's worth reading this short article. The good news first: if you...
Steffen F. Pirsig
8 min read
Views
3,425
Prolog Using many small services, known as microservices, is a popular way to build applications. But, working with microservices can be very complicated. However, the complexity arises not from the Xbase++ business logic code - a domain in which an Xbase++ developer is highly proficient - but...
Steffen F. Pirsig
4 min read
Views
4,135
Background Microservices architectures consist of loosely coupled, reusable, and specialized components that often operate independently. Microservices also use a high degree of cohesion, also known as bounded context. Bounded context refers to the relationship between a component and its data...
Anna Hristova
3 min read
Views
2,223
Introduction Xbase++ is a development tool that offers Xbase Parts for building Windows Desktop applications. One feature that Xbase++ programmers can leverage is the ability to configure these Xbase Parts through subclassing. Not only does this approach allow for personalized coloring and UI...
Steffen F. Pirsig
4 min read
Views
2,775
Reaction score
1
Background In the realm of software development, keeping a software product current, reliable, and robust requires a strategic approach. Alaska Software, the vendor of the programming language and development platform Xbase++, has adopted a strategy known as Continuous Delivery to maintain the...
Steffen F. Pirsig
4 min read
Views
3,490
Introduction Composition and inheritance are two major concepts in object-oriented programming (OOP) that allow for creating complex types. Inheritance is a mechanism where you can derive a class from another class for a hierarchy of classes that share a set of variables and methods. The...
Steffen F. Pirsig
3 min read
Views
2,387
Prolog In the realm of software development, it's imperative for companies to adopt versioning strategies that are both meaningful to developers and aligned with modern development methodologies. Alaska Software, as the vendor of the Xbase++ platform, has seamlessly integrated these...
Steffen F. Pirsig
3 min read
Views
2,813
Introduction Interfaces in Object-Oriented Programming (OOP) play a critical role in designing robust software. In the following we will try to explain the benefits of using interfaces and how to implement them in Xbase++. Generally, benefits of using interface are: Abstraction: Interfaces...
Anna Hristova
3 min read
Views
2,904
In this article we will have a deeper look into how to implement different types of REST APIs using Xbase++ 2.0. We assume that a user management REST API exposes two endpoints.: 1. "POST /users" - This creates a new user. For this request, we need to send user data in the request body. The API...
Andreas Herdt
4 min read
Views
2,847
Overview In this article it is shown how the class AesCrypt() can be specialized to implement some padding schemes for encrypting and decrypting messages. Background The Advanced Encryption Standard (AES) standard is a block cipher algorithm that only allows for the encryption of messages in the...
Andreas Herdt
7 min read
Views
3,929
Positioning If a Smtp or Pop3 endpoint for e-mail exchange requests authorization via the OAuth 2.0 protocol, then this flow-based protocol must be used when communicating with the server to authenticating the client. This may also require displaying a user interface for obtaining the user's...
Andreas Herdt
4 min read
Views
3,681
Introduction Email providers such as Google GMail allow authentication of the Smtp and Pop3 client via the OAuth2 security protocol. Furthermore, it is foreseeable that sooner or later other authentications will no longer be allowed. Google has already announced this step. The OAuth2 security...