I have been using IBX together with Delphi5 since 2000, and I still on this, and happy with this.
But now I am moving to Lazarus and I faced to this strange behavior:
I cannot keep IBDatabase connected at design time and run time. But...
- It works fine on Delphi 5 (design time plus runtime).
- I am able to connect two instances of FlameRobin to the same database at the same time,
and even running FlameRobin plus Delphi5.
- In Lazarus, when I try to keep IBDatabase connected at design time and runtime, I got an exception.
This is a known behavior and the solution, I know, is to disconnect database before compiling application.
By the tests I did, it looks like IBDatabase connects to database in a "exclusive mode", if it is possible.
Well, if IBX works fine on Delphi, I believe that it would be possible also on Lazarus.
By the way, I tried IBDatabase.AllowStreamedConnected=true, but it doesn't work.
I am now on Windows 11, and as I can remember, it did work on Windows 10.
SOLUCTION:
On a fresh install of Windows, I installed Lazarus + IBX package before installing Firebird.
In such a situation, I don't know how, Ibx is configured to work as "embedded" (I confirmed it by stopping Firebird service and running my aplication, which worked normally without Firebird).
Since I didn't figure out how to reverse this, I completely uninstalled Lazarus and installed it again.
Now it works fine.
Hope this helps somebody.