How to...

How to do this and that
I Love Xbase++ (ILX)
The portal for Xbase++ developers worldwide
Frank Grossheinrich
1 min read
Views
193
Please log in to the ASI portal. Note: The ASI portal requires the same log in credentials as the ILX portal. If you never have logged in to ILX please see this article which describes how to initially log in and get your credentials. As soon as you successfully logged in to ASI portal you...
Frank Grossheinrich
1 min read
Views
199
The ILX Portal is very important and indispensable for an Xbase++ developer for several reasons. ILX ("I Like Xbase++") is the knowledge database all about Xbase++. Here you will find short tips & tricks for Xbase++, but also detailed in-depth articles on many topics such as SQL with Xbase++...
Anna Hristova
2 min read
Views
187
Introduction: In this how-to article, we will explore how to efficiently process CSV data using SQLite. Subsequently, we'll demonstrate how to access SQLite databases using the USqlStatement class to execute arbitrary SQL commands. Prerequisites: Before we dive into the process, make sure you...
Till Warweg
2 min read
Views
275
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...
Anna Hristova
2 min read
Views
423
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...
Till Warweg
4 min read
Views
489
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...
Till Warweg
2 min read
Views
798
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
611
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
476
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
596
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...
Andreas Herdt
1 min read
Views
431
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...
Jeffrey Wulf
5 min read
Views
846
Comments for Xbase++ 1.9 users 1. Support for projects with targets in multiple directories Beginning with Xbase++ version 2.0, complex project scenarios involving targets located in different directories are fully supported. This required changes in the way the targets and the source files...
Steffen F. Pirsig
3 min read
Views
1,003
Reaction score
2
Background The Xbase++ PostgreSQL DatabaseEngine provides two different access method to data. First, the ISAM emulating approach which works with dedicated SQL tables only. These SQL tables need to be created using ISAM commands like DbCreate/INDEX ON/OrdCreate or have been upsized from...
Till Warweg
3 min read
Views
976
Reg-free COM allows using a copy-deployment for applications depending on COM/ActiveX component. As the name implies, Reg-free COM means there's no need to register COM/ActiveX components prior to using them. To achieve this, the application requires one or more manifest files which describe the...
Till Warweg
2 min read
Views
520
Background Sometimes, an application may exhibit symptoms which are hard to understand without having information about the internal state, the workflow and timing of operations. This was not an issue with desktop applications as these basically follow the action->reaction principle. Anybody who...
Till Warweg
3 min read
Views
318
Background The Update Manager in the Xbase++ Workbench usually provides a seamless update experience; after clicking "Download and Install", the update process usually runs through without further user interaction. However like all processes, it can fail. This article provides some background...
Andreas Herdt
1 min read
Views
341
For an overview how COM/ActiveX components can be used from Xbase++ refer to the Xbase++ help ActiveX Overview, expecially to the section Reacting to COM/ActiveX events. Here you can find a working sample how to react to the MS Word quit-event.
Pat France
1 min read
Views
424
Sometimes your application may experience run-time errors such as "error while reading a file" during DbSkip() or DbSeek() operations. These errors often occur in the following scenarios: large number of concurrent users (>= 15) large index expressions large index files (> 500Mb) In these...
Andreas Herdt
2 min read
Views
398
It is possible to automate the creation of MS Word documents and also to style the text. For this a Word document is created or opened via the Xbase++ COM/ActiveX layer. The Word instance is represented in Xbase++ by an object of the class AutomationObject(). The document can be manipulated via...
Andreas Herdt
2 min read
Views
443
Problem description The Xbase++ ISAM emulation uses a native PostgreSQL sequence to calculate the next record number for append operations. Therefore the success of a DbAppend()/APPEND directly depends on the correctness of that PostgreSQL sequence. As a matter of fact the sequence can become...