-17 / 10 / 5
Регистрация: 24.12.2014
Сообщений: 88
1

SQLite в dll не работает с OpenDialog

12.02.2015, 14:11. Показов 1127. Ответов 7
Метки нет (Все метки)

Все просто, данный код лежит у меня в dll на кнопке, если есть строка OpenDialog1->Execute(), то rc = 1... и ошибка, что делать если убрать OpenDialog1 все работает прекрасно, в чем может быть дело?, помогите срочно!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TfMain::Button1Click(TObject *Sender)
{
OpenDialog1->Execute();//<--- если так то не работает!!!
int
row_s = 0,
col_s = 0;
 
sqlite3 *db;
char **results = NULL;
char *zErrMsg = NULL;
sqlite3_open("base.db", &db);
int rc = sqlite3_get_table(db, (AnsiToUtf8("SELECT ID FROM t_language WHERE LocaleID_=1049;")).c_str(), &results, &row_s, &col_s, &zErrMsg);
if (rc!=SQLITE_OK) {
UnicodeString Err = Utf8ToAnsi((char*)zErrMsg);
sqlite3_free(zErrMsg);
zErrMsg=NULL;
throw new Exception("Ошибка "+Err+" в методе Select, не могу выполнить int"+IntToStr(rc));
}
ShowMessage(row_s);
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2015, 14:11
Ответы с готовыми решениями:

ShellExecute не работает без OpenDialog, хотя последний там никаким боком
Всем доброго времени суток. Пишу простейшую программу, которая открывает файл. ...

Не работает проверка существования таблицы через метод ExecuteNonQuery() из System.Data.SQLite.dll
Использую приведенный ниже метод для определения существования таблицы в БД public int...

SQLite не найден SQLite.Interop,dll
работаю на виртуальной машине windows 7 x86. Установлен Visual Studio 2013. Через NuGet установил...

OpenDialog вызывает аварийную остановку программы из-за sdata.dll
Приветствую всех! Ребят подскажите советом. Ситуация в следующем. На ОС Windows 7 64-х битной...

7
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
12.02.2015, 14:30 2
А так:
C++
3
if( OpenDialog1->Execute() ){};
?
0
-17 / 10 / 5
Регистрация: 24.12.2014
Сообщений: 88
12.02.2015, 14:32  [ТС] 3
SatanaXIII, тоже самое(((
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
12.02.2015, 14:34 4
Implosion_IT, что вы вкладываете в понятие "не работает"?
0
-17 / 10 / 5
Регистрация: 24.12.2014
Сообщений: 88
12.02.2015, 14:45  [ТС] 5
строка
C++
1
int rc = sqlite3_get_table(...)
возвращает 1... а без OpenDialog1->Execute() возвращает 0 как и должно быть...

Добавлено через 3 минуты
я так понимаю HWND sqlite и opendialog используют одинаковое пространство результата((( или это баг OpenDialog1->Execute()

Добавлено через 6 минут
Проблема найдена!, кто догадается тому поставлю +++ и лучший ответ!
0
119 / 141 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
12.02.2015, 15:59 6
да нету никакой ошибки
0
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
12.02.2015, 16:14 7
Лучший ответ Сообщение было отмечено Implosion_IT как решение

Решение

Навскидку предположу.
Там есть попытка открыть базу. Если ничего не трогать, то скорее всего текущим путём будет каталог приложения.
C++
1
sqlite3_open("base.db", &db);
При запуске диалога (который кстати зачем, если нигде не используется?) текущий путь может измениться и базы там уже не будет
1
-17 / 10 / 5
Регистрация: 24.12.2014
Сообщений: 88
12.02.2015, 16:19  [ТС] 8
Добавлено через 1 минуту
Цитата Сообщение от mimicria Посмотреть сообщение
При запуске диалога (который кстати зачем, если нигде не используется?)
пишу код в программе бросил опендиалог и столкнулся с данной проблемой, пока по кусочка и косточкам не разобрал ошибку не нашел!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2015, 16:19
Помогаю со студенческими работами здесь

Не работает OpenDialog.Execute()
Добрый день. Delphi 7. Кинул на форму диалог открытия файлов, пытаюсь вот так его запустить: ...

Передача значения из OpenDialog в TextBox на общей форме из процедуры нажатия кнопки вызова OpenDialog
Доброго времени суток, уважаемые форумчане. На форме лежат TextBox и Button. Элементы созданы...

Ошибка: Cannot load SQLite.dll
Ребят, всё перерыл в интернете, не могу понять в чём проблема. Windows 7 x64, скачиваю готовый...

Не удается добавить ссылку на SQLite.interop.dll
Здравствуйте. Скачал из интернета SQLite по вот этой ссылке:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru