|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Странное поведение при использовании SQLite
Привет всем. Сегодня решил перебороть себя и начать ковырять БД. Решил особо не париться - стартанул с SQLite. Собственно, не важно почему с него. Проблема вот в чем:
- на форме TMainMenu, TStatusBar - если юзаю SQLite, то вылетает ошибка чтения. - если не юзаю - все в порядке. Причем неважно, что будет на форме - TMainMenu или TStatusBar или оба сразу. Даже с подключенными модулями Menus и ComCtrls нет ошибок до тех пор, пока не появится на форме статусбар или мэйнменю. Из-за чего такое может быть? Взаимосвязи не нашел. Сижу в шоке ----------------------------------------------------------------------------------- Удалять вопрос не буду. Сам отвечу. Хотя это ответом не назовешь. Баг исчез после перехода с SQLite 3.7.2 на SQLite 3.5.4 (на понижение). В чем прикол - так и не понял. Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. Последний раз редактировалось dr. F.I.N., 07.03.2012 в 21:03. |
#2
|
|||
|
|||
может быть из-за сишных библиотек.
к тебя как SQLite скомпилирован? Надо все lib'ы статически подключить в проект, что бы небыло зависимостей от внешних библиотек. Есть подозрение, что просто пытаются использовать разные библиотеки с одинаковыми именами... но это просто идея... В свое время отказался от SQLite в связи с тем, что там были проблемы с русским языком (в частности в LIKE). Перешел на EmbeddedFB. Хотя теперь, возможно, придется возвращаться, т.к. для маленьких проектов 8 мБ последнего EmbeddedFB как-то не очень нравится. |
#3
|
||||
|
||||
Либы подключены статически. Их всего одна sqlite3.dll. Вкратце пробежался по коду обоих врапперов - рактически идентичны. Так что пока хз. Про кирилицу читал. Тоже в предвкушении
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#4
|
|||
|
|||
Не факт, что статически. Есть некоторые библиотеки, которые в свое время поставлялись с виндой и их было "принято" подключать динамически. Но не суть. а где падает-то? Ты хоть какой-то дебаг посмотрел?
|
#5
|
||||
|
||||
Ну если обратишь внимание на время, то увидишь - я ковырялся вчера ночью. И мне лень было выискивать где что падает. Изначально было так:
1. Подключился к базе 2. Загрузил таблицу Потом бросил на форму Мэйнменю. Все работало до тех пор, пока не создал второй ряд МенюИтемов. Начала вылетать ошибка чтения при закрытии приложения. Думал - может где какие имена/константы пересекаются - все переименовал - толку нет. Потом плюнул на проблему (отложил) - убил Мэйнменю и кинул на форму Статусбар. Проблема та же - при закрытии ошибка чтения. Психанул - отписался на форуме. Потом вспомнил, что не было проблем несколькими часами ранее на работе. Посмотрел версию SQLite с работы и подложил её вместо свежескачаной - все завелось. Дальше голову не грел А вообще - мне не нужно "сверх базы". Всего-лишь собирать небольшую статистику и производить расчеты. Поиск и тот нужен только по одному полю. Делал бы через файл,но надо же когда-то начинать БД Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |