View Issue Details

IDProjectCategoryView StatusLast Update
0001770SAS.ПланетаРефакторинг / Refactoringpublic02-02-2013 21:57
Reportervasketsov Assigned Tovasketsov  
PrioritynormalSeverityminorReproducibilityN/A
Status resolvedResolutionfixed 
PlatformWindowsOSVistaOS VersionUltimate
Product Version.Nightly 
Target Version131111Fixed in Version131111 
Summary0001770: Рефакторинг экспорта TThreadExportIPhone и использования SQLite
DescriptionПоскольку при файнализации SQLite библиотека сливается, пришлось пописать и экспорт в яблокофон, так как он инициализировал и файнализировал либу внутри себя.

Заодно обнаружил багу - если в пути русские буквы - валится с кодом ошибки 14 при открытии БД. Если заменить функцию открытия БД с _v2 на 16 - то работает и с русскими папками, но в этом случае по идее БД будет в UTF-16. В общем фиг его знает как оно повлияет на всякие яблокофоны, если будет в UTF-16 - так что пока оставим как есть, а потом может галочку добавим в экспорт.

Ещё и галочка похоже неверно учитывается при экспорте. Если включена - существующий файл удаляется. Если выключена - по тому же выделению пишутся те же тайлы - и файл удваивается ))
TagsNo tags attached.

Activities

vasketsov

07-01-2013 23:54

manager   ~0010356

У кого яблокофоны - проверяйте. Я разницы в результате между ДО и ПОСЛЕ моих правок не наблюдаю (смотрел в Maestro), но мало ли...

zed

08-01-2013 16:40

manager   ~0010357

>Поскольку при файнализации SQLite библиотека сливается
Ну и пускай бы себе. Там что, какие-то проблемы с повторной загрузкой либы?
Почему нельзя было использовать локальный вариант TALSqlite3Library по мере надобности?

vasketsov

09-01-2013 20:43

manager   ~0010370

Last edited: 09-01-2013 20:47

Потому что если метки будут в БД SQLite, в которую будем ходить ЭТИМ ЖЕ экземпляром dll - либа должна быть доступна от начала и до конца работы саса.
Я нигде не нашёл информацию о том, что finalize подсчитывает ссылки (и что это поведение гарантируется, даже если сейчас это вдруг так и есть). Даже наоборот, в доках есть упоминание об эффективном finaliz-е, который всё сливает, и после которого finalize уже ничего не делает (то что при отсутствии инициализации и при выполнении процедур она проводится автоматически и неявно - нам по идее тут не силно интересно, так как кэш БД всё равно сольётся, да и в доках прямо не рекомендуется надеяться на автоинициализацию). А если что-то не гарантируется - лучше перестраховаться. Тем более что и смысла никакого дублировать тривиальные процедуры (типа простого выполнения строки) нет.

vasketsov

25-01-2013 10:53

manager   ~0010458

Залитый вариант даже с учётом отката работоспособен, так что закрываю.

Issue History

Date Modified Username Field Change
07-01-2013 23:25 vasketsov New Issue
07-01-2013 23:25 vasketsov Assigned To => vasketsov
07-01-2013 23:25 vasketsov Status new => assigned
07-01-2013 23:32 vasketsov Description Updated
07-01-2013 23:37 vasketsov Description Updated
07-01-2013 23:54 vasketsov Note Added: 0010356
08-01-2013 16:40 zed Note Added: 0010357
09-01-2013 20:43 vasketsov Note Added: 0010370
09-01-2013 20:47 vasketsov Note Edited: 0010370
25-01-2013 10:53 vasketsov Note Added: 0010458
25-01-2013 10:53 vasketsov Status assigned => resolved
25-01-2013 10:53 vasketsov Fixed in Version => 131111
25-01-2013 10:53 vasketsov Resolution open => fixed
02-02-2013 21:57 vdemidov Target Version => 131111
08-08-2025 13:25 zed Category Рефакторинг => Рефакторинг / Refactoring