You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Firebird 2.0 and 2.1 Embedded, I notice fbintl.dll will be loaded once I executed isc_dsql_execute_immediate for "CREATE DATABASE". However, the fbintl.dll never get unloaded after I free fbembed.dll.
This cause problems when I use Firebird 2.0 embedded and Firebird 2.1 embedded engine in same application where the fbintl.dll for both 2.0 and 2.1 is not compatible.
To solve the problem temporary, I unload the fbintl.dll library manually:
const FLibrary = 'fbembed.dll'
var s: string;
h: THandle;
begin
...
s := ExtractFilePath(FLibrary) + 'intl\fbintl.dll';
h := GetModuleHandle(PChar(s));
if h <> 0 then
FreeLibrary(h);
end;
My application works with both ODS version 10.X and 11.X database, thus I may switch the firebird engine to access database depends on the ODS version. The reason why not upgraded to latest 11.1 version is I have other legacy apps that can't work with 11.X database yet.
Regardless of the above issue, I think it is a good habit to unload fbintl.dll when it is no longer needed.
Submitted by: Chau Chee Yang (cheeyang)
In Firebird 2.0 and 2.1 Embedded, I notice fbintl.dll will be loaded once I executed isc_dsql_execute_immediate for "CREATE DATABASE". However, the fbintl.dll never get unloaded after I free fbembed.dll.
This cause problems when I use Firebird 2.0 embedded and Firebird 2.1 embedded engine in same application where the fbintl.dll for both 2.0 and 2.1 is not compatible.
To solve the problem temporary, I unload the fbintl.dll library manually:
const FLibrary = 'fbembed.dll'
var s: string;
h: THandle;
begin
...
s := ExtractFilePath(FLibrary) + 'intl\fbintl.dll';
h := GetModuleHandle(PChar(s));
if h <> 0 then
FreeLibrary(h);
end;
Commits: ad24045
The text was updated successfully, but these errors were encountered: