Вверх ↑
Ответов: 16884
Рейтинг: 1239
#1: 2009-08-28 01:32:15 ЛС | профиль | цитата
Ну и не факт, что совет с таймером на пол секунды всегда хватит.

procedure THIDS_SQLite._work_doClose;
begin
Close;

end;

procedure THIDS_SQLite.Close;
begin
if id = nil then exit;
while (sqlite3_close(id) <> SQLITE_OK) and _prop_WaitClose do
sleep(10);
id := nil;
end;
Если в процедуре добавить событие onClose

procedure THIDS_SQLite._work_doClose;
begin
Close;
_hi_CreateEvent(_Data, @_event_onClose);
end;
То оно произойдет только после закрытия БД
------------ Дoбавленo в 01.34:
А вот это и есть таймер.

  while (sqlite3_close(id) <> SQLITE_OK) and _prop_WaitClose do  sleep(10);
и сейчас он просто ( в наших схемах не используется).

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:miver