Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

FireDAC передача коннекта из приложения в DLL [FireBird 3]


wipr   (25.09.17 23:11

Всем привет!

Delphi 10.2

Столкнулся с проблемой передачи коннекта из приложения в DLL при использовании FireDAC без открытия нового соединения. На просторах интернета решение проблемы не нашел. Подскажите в каком направлении копать.
Ранее этим механизмом пользовался в BDE и FIBPlus.

в BDE делал так
...
TShowForm=procedure(Handle: THandle; const DBHandle: HDBIDB);
var
 Form: TForm;
 hLibForm: THandle;
 ShowForm: TShowForm;
...
function TForm.GetSessionHandle: HDBIDB;
begin
 result:=Session.Databases[Session.DatabaseCount-1].Handle;
end;
...
   if hLibForm<32
   then ShowMessage('Отсутствует библиотека ***.DLL')
   else begin
     ShowForm:=TShowForm(GetProcAddress(hLibForm,'SHOWFORM'));
     ShowForm(Self.Handle, GetSessionHandle);
   end;
...

в FIBPlus делал так
...
TShowForm=procedure(AppHandle: THandle; const DBHandle: TISC_DB_HANDLE); stdcall;
var
 frmForm: TfrmForm;
 hLibForm: THandle;
 ShowForm: TShowForm;
...
   if hLibForm=0 then begin
     ShowMessage('Библиотека ***.dll не загружена.');
     exit;
   end;
   @ShowForm:=GetProcAddress(hLibFormr,'SHOWFORM');
   if not (@ShowForm=nil) then begin
     ShowForm(Application.Handle,DB.Handle);
   end else begin
     ShowMessage('Ошибка обращения к процедуре SHOWSPRAV в библиотеки ***.dll');
   end;
...

Подскажите как сделать подобное в FireDAC.


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо