Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 01.07.2019, 07:44   #1
artemavd
Модератор
Заслуженный модератор
 
Регистрация: 05.06.2008
Адрес: г.Иркутск
Сообщений: 4,180
Репутация: 837
Восклицание IBStoredProc, Firebird и DLL

Добрый день!
Суть какая.
Передаю соединение с сервером в DLL - это ок.
Создаю в DLL IBTransaction - это ок.
Создаю в DLL IBStoredProc - это ок.
Теперь мне надо просто выполнить хранимую процедуру через IBStoredProc с параметрами и тут я получаю Access Violation.
Вот код:
Код:
procedure msccTest(ACliHandle: Pointer; _ShortName: PWideChar);
var
  tempIBStoredProc : TIBStoredProc;
  tempIBDatabase: TIBDatabase;
  tempIBTransaction: TIBTransaction;
begin
  tempIBDatabase:=TIBDatabase.Create(nil);

  tempIBTransaction:=TIBTransaction.Create(nil);
  tempIBTransaction.DefaultDatabase:=tempIBDatabase;

  try
    tempIBDatabase.SetHandle(ACliHandle);
    tempIBDatabase.Connected:=True;

    tempIBStoredProc:=TIBStoredProc.Create(nil);
    tempIBStoredProc.Transaction:=tempIBTransaction;
    tempIBStoredProc.Database:=tempIBDatabase;
    tempIBStoredProc.StoredProcName:='FM1SP0';
    tempIBStoredProc.Prepare;
    tempIBStoredProc.Current.ByName('P03').Value:='1';
    tempIBStoredProc.ExecProc;
    tempIBTransaction.Commit;
  finally
    FreeAndNil(tempIBStoredProc);
    FreeAndNil(tempIBTransaction);
    FreeAndNil(tempIBDatabase);
  end;
end;
AV появляется, как показал отладчик, при работе с параметрами IBStoredProc, т.к. все остальные действия с динамическим IBStoredProc не вызывают данной ошибки.
Прощу помощи в решении это проблемы.
__________________
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума   Ответить с цитированием
Старый 01.07.2019, 21:48   #2
mihаli4
никакой
Пользователь
 
Аватар для mihаli4
 
Регистрация: 21.05.2018
Адрес: Нерезиновая
Сообщений: 27
Репутация: 81
По умолчанию

Цитата:
Создаю в DLL IBStoredProc - это ок.
Теперь мне надо просто выполнить хранимую процедуру... и тут я получаю Access Violation.
Вы знаете, сейчас сезон отпусков начался, поэтому все экстрасенсы разъехались "по морям".
Посему, ежели вам не очень трудно, вы уж приведите тексты ваших StoredProc, дабы желающие смогли на них критично поглазеть
Ведь у вас именно там возникает ужасная "Access Violation"?
mihаli4 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IB or ADO для FireBird Dozent БД в Delphi 13 24.12.2012 13:51
udf для firebird Sparky Помощь студентам 5 15.11.2012 17:01
FireBird Д'якон БД в Delphi 2 04.12.2008 12:15
FireBird 1.5.4 Nikola__ БД в Delphi 2 17.11.2008 15:42


13:09.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.