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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2019, 06:44   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
Восклицание 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, 20:48   #2
mihаli4
никакой
Пользователь
 
Аватар для mihаli4
 
Регистрация: 21.05.2018
Сообщений: 35
По умолчанию

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


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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 11:15
FireBird 1.5.4 Nikola__ БД в Delphi 2 17.11.2008 14:42