Показать сообщение отдельно
  #18  
Старый 04.11.2013, 00:01
govorun govorun вне форума
Новичок
 
Регистрация: 30.10.2013
Сообщения: 60
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

После долгих и мучительных удалось на половину решить проблему. Раскажу, вдруг кому пригодится...

Итак, проблема заключалась в том, что при использовании OpenDialog в DLL динамической загрузки не проиходила выгрузка DLL из памяти (при закрытии DLL а не основной программы) и повторная загрузка DLL выдавала ошибку на доступ к файлу базы данных.
У меня OpenDialog был настроен на каталог, находящийся в каталоге с программой и базой (программа и база - К:\2\, OpenDialog искал файлы (К:\2\doc\).
Во время очередного эксперимента по повторной загрузке DLL появилась ошибка доступа к файлу базы по адресу К:\2\doc\'имя базы' , хотя базой там никогда и не пахло.
Убрал в OpenDialog настройку на каталог, теперь он ищет файлы в папке с программой (не совсем удобно) зато DLL повторно загружается.
И еще, этот гад (OpenDialog) держит в памяти все к чему прикаснуся: и текстовые файлы, которые я выбирал, и exe-шники, и файл базы данных.
Скорее всего тут дело в потоках..., но с ними я еще не научился работать.
Ответить с цитированием