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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2018, 00:14   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию Вопрос с компонентом в библиотеке (может быть)

Доброе время суток,
Есть библиотека с несколькими формами.
На одной из форм (FAuthentication), располагается «IBDatabase2» (это новый компонент, т.е. к нему ничего не подключено и т.п. настроены только «user name» «password» и «character set») После вызова одной из функций библиотеки

Код:
function BACKUP_DB(AFBackupCreate: boolean;
                   var APathDB: string): string; export; stdcall; far;
var
  LNameDB: string;
begin
  if AFBackupCreate then
  begin
    FAuthentication := TFAuthentication.Create(nil);
  FAuthentication.IBDatabase2.DatabaseName := APathDB;
  FAuthentication.IBDatabase2.Connected := true;  <-- ошибка

  end;

if AFBackupCreate then
  begin
    FreeAndNil(FAuthentication);
  end;
и закрытия приложения, которое вызвало dll ошибка в памяти

exception class $C0000005 with message 'access violation at 0x04eda150: read of address 0x0563e844

'.

Она происходит из-за строки «FAuthentication.IBDatabase2.Connect ed := true»

Я теряюсь в догадках, где может быть ошибка…
P.S.
- Хотя при вызове других функций этой же библиотеки отрабатывают нормально
- добавил в dll новую форму и на нее кинул IBDatabase2 - эффект тот же

Последний раз редактировалось KBO; 25.03.2018 в 00:25.
KBO вне форума Ответить с цитированием
Старый 25.03.2018, 21:09   #2
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

у меня в приложении (вызывающем dll) есть свой database, так вот если я передаю в dll в качестве параметра значение "DatabaseName", при закрытии приложения - ошибка.
А если передаю обычную переменную - строка с путем к БД - все ОК,
Оба значения и "DatabaseName" и переменная РАВНЫ

фигня какая-то...
KBO вне форума Ответить с цитированием
Старый 26.03.2018, 18:10   #3
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Все оказалось намного банальнее, в "*.dpr" библиотеки использовал ShareMem, а в "*.dpr" приложения вызывающую библиотеку - забыл...
(до того как нашел ошибку), столько "непонятностей" просмотрел...
KBO вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по библиотеке. C# PROkaZZZniK Помощь студентам 1 10.05.2012 22:26
вопрос по библиотеке JIeka Общие вопросы C/C++ 8 26.08.2011 18:19
Быть или не быть? Вот в чем вопрос! VadEr Свободное общение 8 23.09.2009 16:16
Может быть так, что в мамку может попасть вирус и не загружать жесткий диск Berzhan Операционные системы общие вопросы 6 27.07.2009 21:40
Вопрос по библиотеке jQuery Help_me JavaScript, Ajax 5 04.03.2009 12:57