Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2012, 14:17   #1
[MoNAMur]
читер
Форумчанин
 
Аватар для [MoNAMur]
 
Регистрация: 05.10.2009
Сообщений: 150
По умолчанию Автозапуск приложения - dll не найдена

Здравствуйте.
Имеется приложение, написанное на delphi. Приложение использует sqlite3.dll библиотеку.
Приложение прописано в автозапуске (в ветке реестра Run).
Во время автозапуска возникает ошибка "Приложению не удалось запуститься, так как sqlite3.dll не была найдена.", если запустить самому, то все хорошо запускается.
Из-за чего программа не "видит" dll?
$me = $me == $me ? $me : $me;
[MoNAMur] вне форума Ответить с цитированием
Старый 02.05.2012, 14:25   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Приложение использует sqlite3.dll библиотеку
задать при использовании либы путь правильно. Как задается путь?

Либо скопировать DLL в системную папку Windows.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 02.05.2012, 14:45   #3
[MoNAMur]
читер
Форумчанин
 
Аватар для [MoNAMur]
 
Регистрация: 05.10.2009
Сообщений: 150
По умолчанию

Цитата:
Либо скопировать DLL в системную папку Windows.
Нужно без копирования обойтись.

путь задается так:
Код:
MY_BASE_APPLICATION_PATH := 'C:\MyApp\';
...
LoadLibrary(PChar(MY_BASE_APPLICATION_PATH +'sqlite3.dll'));
кстати, если путь даже не задавать, то ошибка та же. Причем на Windows 7 такого не наблюдается.
Просмотрел код sqlite3 обертки библиотеки, но там так и не нашел где бы она подключалась. Судя по мануалам с сайта http://www.yunqa.de/delphi/doku.php/.../sqlite3/index достаточно кинуть dll в папку с программой и подключить обертки SQLite3.pas и SQLiteTable3.pas, что я и сделал.
В дальнейшем объект для работы с базой создаю так:
Код:
const
    DB_FILE_PATH = '\files\mydb.sqlite';
...
DBObject := TSQLiteDatabase.Create(MY_BASE_APPLICATION_PATH +DB_FILE_PATH);
Но видимо ошибка возникает еще раньше...

UPD: Пардон, библиотека загружается статически и лежит в той же папке что и приложение.

Ошибка не решена.
$me = $me == $me ? $me : $me;

Последний раз редактировалось [MoNAMur]; 02.05.2012 в 15:24.
[MoNAMur] вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Внедрение своего Dll в чужые приложения Dima DDM Общие вопросы Delphi 18 28.12.2010 20:07
Не найдена точка входа в DLL, не могу разобраться Ozerich Qt и кроссплатформенное программирование С/С++ 4 21.04.2010 19:46
Автозапуск приложения Delphi Sk!f Фриланс 17 21.10.2009 12:01
взаимодействие приложения и dll Roof Общие вопросы Delphi 3 13.12.2008 07:05
Запуск приложения из DLL Hollander Общие вопросы Delphi 2 17.05.2007 20:04