SASGIS - SAS.Планета
View Issue Details
0001770SAS.ПланетаРефакторингpublic07-01-2013 23:2502-02-2013 21:57
vasketsov 
vasketsov 
normalminorN/A
resolvedfixed 
WindowsVistaUltimate
.Nightly 
131111131111 
0001770: Рефакторинг экспорта TThreadExportIPhone и использования SQLite
Поскольку при файнализации SQLite библиотека сливается, пришлось пописать и экспорт в яблокофон, так как он инициализировал и файнализировал либу внутри себя.

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

Ещё и галочка похоже неверно учитывается при экспорте. Если включена - существующий файл удаляется. Если выключена - по тому же выделению пишутся те же тайлы - и файл удваивается ))
No tags attached.
Issue History
07-01-2013 23:25vasketsovNew Issue
07-01-2013 23:25vasketsovAssigned To => vasketsov
07-01-2013 23:25vasketsovStatusnew => assigned
07-01-2013 23:32vasketsovDescription Updatedbug_revision_view_page.php?rev_id=5069#r5069
07-01-2013 23:37vasketsovDescription Updatedbug_revision_view_page.php?rev_id=5070#r5070
07-01-2013 23:54vasketsovNote Added: 0010356
08-01-2013 16:40zedNote Added: 0010357
09-01-2013 20:43vasketsovNote Added: 0010370
09-01-2013 20:47vasketsovNote Edited: 0010370bug_revision_view_page.php?bugnote_id=10370#r5079
25-01-2013 10:53vasketsovNote Added: 0010458
25-01-2013 10:53vasketsovStatusassigned => resolved
25-01-2013 10:53vasketsovFixed in Version => 131111
25-01-2013 10:53vasketsovResolutionopen => fixed
02-02-2013 21:57vdemidovTarget Version => 131111

Notes
(0010356)
vasketsov   
07-01-2013 23:54   
У кого яблокофоны - проверяйте. Я разницы в результате между ДО и ПОСЛЕ моих правок не наблюдаю (смотрел в Maestro), но мало ли...
(0010357)
zed   
08-01-2013 16:40   
>Поскольку при файнализации SQLite библиотека сливается
Ну и пускай бы себе. Там что, какие-то проблемы с повторной загрузкой либы?
Почему нельзя было использовать локальный вариант TALSqlite3Library по мере надобности?
(0010370)
vasketsov   
09-01-2013 20:43   
(edited on: 09-01-2013 20:47)
Потому что если метки будут в БД SQLite, в которую будем ходить ЭТИМ ЖЕ экземпляром dll - либа должна быть доступна от начала и до конца работы саса.
Я нигде не нашёл информацию о том, что finalize подсчитывает ссылки (и что это поведение гарантируется, даже если сейчас это вдруг так и есть). Даже наоборот, в доках есть упоминание об эффективном finaliz-е, который всё сливает, и после которого finalize уже ничего не делает (то что при отсутствии инициализации и при выполнении процедур она проводится автоматически и неявно - нам по идее тут не силно интересно, так как кэш БД всё равно сольётся, да и в доках прямо не рекомендуется надеяться на автоинициализацию). А если что-то не гарантируется - лучше перестраховаться. Тем более что и смысла никакого дублировать тривиальные процедуры (типа простого выполнения строки) нет.

(0010458)
vasketsov   
25-01-2013 10:53   
Залитый вариант даже с учётом отката работоспособен, так что закрываю.