I Love Xbase++ (ILX)
The portal for Xbase++ developers worldwide
Andreas Herdt
2 min read
Views
2,067
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...
Anna Hristova
3 min read
Views
1,890
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,219
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
2,990
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...
Till Warweg
2 min read
Views
2,062
Background The XbpHtmlViewer2 class has a data folder that serves as an integral mechanism for session isolation. This feature is critical for applications using the class, which internally relies on the Microsoft WebView2 runtime. By ensuring that every process employing XbpHTMLViewer2...
Steffen F. Pirsig
3 min read
Views
1,928
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,398
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,311
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...
Anna Hristova
2 min read
Views
2,097
Let's start and create an example where we'll retrieve posts from a public REST API, such as JSONPlaceholder which is a free online REST API that you can use for demonstration and testing purposes. Here's the URL endpoint to retrieve posts: https://jsonplaceholder.typicode.com/posts Now, let's...
Andreas Herdt
3 min read
Views
2,458
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...
Andreas Herdt
4 min read
Views
2,172
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...
Till Warweg
4 min read
Views
2,261
The Asset Manager integrated into the Xbase++ Workbench provides an easy interface for viewing, (de-) installing and updating the assets being used in your projects. Behind the scene, the Asset Manager in conjunction with the Workbench, performs the following tasks for you: Manage asset...
Andreas Herdt
7 min read
Views
3,131
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...
Steffen F. Pirsig
4 min read
Views
2,144
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...
Till Warweg
2 min read
Views
2,479
Using native SQL for manipulating data as well as structure (schema) of ISAM-emulated tables is a supported scenario, for example, for being able to share data with non-Xbase++ applications. In the following, the potential pitfalls and general requirements are discussed which must be put into...
Jeffrey Wulf
1 min read
Views
3,238
Background Generally making a service more reliable does not mean to ensure the service works 24/7. This is an old school no more working approach from times where software solutions have been simple, working in defined environments and under full control. But today, even simple software become...
Till Warweg
1 min read
Views
2,120
Background The PGDBE automatically tracks record locks in ISAM-emulated tables, which are set by clients connected to the PostgreSQL server. This is done with the help of the __lock_owner field in the table's meta data. However, when a client dies unexpectantly, has it's network go down or does...
Steffen F. Pirsig
2 min read
Views
2,401
Background Since the ISAM emulating tables of the PostgreSQL DatabaseEngine are in fact regular SQL tables, it is possible to manipulate them using SQL statements. However, some SQL operations are problematic, as they may lead to inconsistent/incorrect ISAM behavior. In the following, we will...
  • Featured
Steffen F. Pirsig
2 min read
Views
2,244
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...
Andreas Herdt
1 min read
Views
2,103
Overview By default, the target (.dll or .exe) is created in the directory as implied in the target node of the project file (.xpj). The target [example.exe] is created in the directory where the project file is located. The target [bin\example.dll], on the other hand, is created in the...

Latest articles