https://sqlite.org/c3ref/exec.html писал(а):
If the 5th parameter to sqlite3_exec() is not NULL then any error message is written into memory obtained from sqlite3_malloc() and passed back through the 5th parameter. To avoid memory leaks, the application should invoke sqlite3_free() on error message strings returned through the 5th parameter of sqlite3_exec() after the error message string is no longer needed.Надо поправить в файлах:
hiSQLite_QueryScalar.pas
hiSQLite_Query.pas
hiSQLite_Exec.pas
hiDS_SQLite.pas
hiSQLite_Query.pas
hiSQLite_Exec.pas
hiDS_SQLite.pas
Сделал модификацию этих компонентов - добавил свойство Charset[ANSI, UTF-8], чтобы можно было без лишних телодвижений пользоваться кодировкой UTF-8.
Также:
1) Причесал код, выбросил лишнее
2) hiCharset.pas
- Причёсана функция CodePage1ToCodePage2
- Добавлены функции StringToUTF8, UTF8ToString для удобочитаемости
3) SqLite3Api.pas
- Косметические изменения
- Добавлены несколько объявлений пока не используемых функций
- Объявлен тип PCharPointers/TCharPointers для использования в TExecCallBack (раньше похожее было объявлено в каждом компоненте)
4) Из стандартного примера "SQLLite_Demo.sha" выброшены сохранение/загрузка положения окна и имени файла из реестра
SQLite components mod 2018-04-04.zip