-
Всем привет!
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.
|