View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001770SAS.ПланетаРефакторингpublic07-01-2013 23:2502-02-2013 21:57
Reportervasketsov 
Assigned Tovasketsov 
PrioritynormalSeverityminorReproducibilityN/A
StatusresolvedResolutionfixed 
PlatformWindowsOSVistaOS VersionUltimate
Product Version.Nightly 
Target Version131111Fixed in Version131111 
Summary0001770: Рефакторинг экспорта TThreadExportIPhone и использования SQLite
DescriptionПоскольку при файнализации SQLite библиотека сливается, пришлось пописать и экспорт в яблокофон, так как он инициализировал и файнализировал либу внутри себя.

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

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

- Relationships

-  Notes
(0010356)
vasketsov (manager)
07-01-2013 23:54

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

>Поскольку при файнализации SQLite библиотека сливается
Ну и пускай бы себе. Там что, какие-то проблемы с повторной загрузкой либы?
Почему нельзя было использовать локальный вариант TALSqlite3Library по мере надобности?
(0010370)
vasketsov (manager)
09-01-2013 20:43
edited on: 09-01-2013 20:47

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

(0010458)
vasketsov (manager)
25-01-2013 10:53

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

- Users who viewed this issue
User List Anonymous (1109x)
Total Views 1109
Last View 28-01-2020 17:28

- 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 View Revisions
07-01-2013 23:37 vasketsov Description Updated View Revisions
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 View Revisions
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



Copyright © 2007 - 2020 SAS.Planet Team