Вверх ↑
Этот топик читают: Гость
Ответов: 655
Рейтинг: 18
#1: 2017-02-07 05:42:04 ЛС | профиль | цитата
Добавил в Sqlite3api.pas:

function sqlite3_backup_init(db_dst:pointer; dbname_dst: Pchar; db_src:pointer; dbname_src: Pchar):pointer; cdecl;
function sqlite3_backup_step(db_dst:pointer; count:integer):integer; cdecl;
function sqlite3_backup_finish(db_dst:pointer):integer; cdecl;
function sqlite3_backup_step; external SQLITEDLL;
function sqlite3_backup_init; external SQLITEDLL;
function sqlite3_backup_finish; external SQLITEDLL;

Код компонента:
unit hiSQLite_Backup;

interface

uses Windows,Kol,Share,Debug,SqLite3Api;

type
THISQLite_Backup = class(TDebug)
private

public
_prop_FileName1:string;
_data_FileName1:THI_Event;
_prop_FileName2:string;
_data_FileName2:THI_Event;
_data_dbHandle1:THI_Event;
_data_dbHandle2:THI_Event;
_event_onBackup:THI_Event;

procedure _work_doBackup(var _Data:TData; Index:word);
end;

implementation

uses hiCharset;

procedure THISQLite_Backup._work_doBackup;
var
dt1,dt2:TData;
id1,id2,backup:pointer;
begin
dt1 := ReadData(_Data,_data_dbHandle1);
id1 := ToObject(dt1);
dt2 := ReadData(_Data,_data_dbHandle2);
id2 := ToObject(dt2);

backup := sqlite3_backup_init(id2,PChar(CodePage1ToCodePage2(ReadString(_Data,_data_FileName2, _prop_FileName2), CP_ACP, CP_UTF8)),id1,PChar(CodePage1ToCodePage2(ReadString(_Data,_data_FileName2, _prop_FileName2), CP_ACP, CP_UTF8)));

if backup <> nil then

sqlite3_backup_step(backup,-1);

sqlite3_backup_finish(backup);

_hi_CreateEvent_(_Data, @_event_onBackup);
end;

end.
Runtime error..подскажите почему?

Редактировалось 5 раз(а), последний 2017-02-07 08:01:39
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 655
Рейтинг: 18
#2: 2017-02-07 08:18:06 ЛС | профиль | цитата
Отбой, разобрался
Все работает, выложу компонент как оформлю.

Редактировалось 1 раз(а), последний 2017-02-07 08:18:37
карма: 0

0
Ответов: 952
Рейтинг: 4
#3: 2017-12-04 20:57:09 ЛС | профиль | цитата
Видимо не оформил, или забыл выложить.
карма: 0

0
Ответов: 655
Рейтинг: 18
#4: 2017-12-05 15:51:52 ЛС | профиль | цитата
Собственно вот компонент, добавьте только иконку)

http://forum.hiasm.com/getfile/38260

Редактировалось 2 раз(а), последний 2017-12-05 16:00:15
карма: 0

0
Ответов: 2059
Рейтинг: 131
#5: 2017-12-05 16:11:16 ЛС | профиль | цитата
̶А̶ ̶к̶о̶м̶п̶о̶т̶?̶ А пример?
карма: 6

0
Ответов: 655
Рейтинг: 18
#6: 2017-12-05 16:20:28 ЛС | профиль | цитата
Да среды под рукой нет, там все просто, верхние точки - handle БД источника (какую БД копировать) и handle БД назначения (В какую БД копировать), товарищи я тут вот еще чего вспомнил....для того чтобы бэкап работал нужны:
1) обновленная версия Sqlite3.dll
2) обновленный файл ApiSqlite3.pas
3) обновленный Sqlite_DB.pas
4) обновленный Sqlite_Query.pas
..их только завтра смогу выложить, т.к. повторюсь среды нет под рукой..
карма: 0

0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)