FireDAC.Comp.Client.TFDCustomConnection.SharedCliHandle

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property SharedCliHandle: Pointer read FSharedCliHandle write SetSharedCliHandle;

C++

__property void * SharedCliHandle = {read=FSharedCliHandle, write=SetSharedCliHandle};

プロパティ

種類 可視性 ソース ユニット
property public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDCustomConnection


説明

他の接続と共有される CLI ハンドル。

SharedCliHandle を使用すると、接続のその他の CliHandle プロパティによって返された、共有済み DBMS Call Level Interface 接続ハンドルを設定することができます。これは、アプリケーションから DDL へ接続を転送する際に便利です(「DLL の開発」参照)。

メモ: 共有は同じアドレス空間内でのみ機能するため、接続は別のプロセスとは共有できません。

この接続の ConnectedTrue に設定すると、他の接続と同じ物理 DBMS 接続やセッションを使用し、さらに、同じトランザクション状態も共有します。 

ConnectedFalse に設定すると、この DLL 接続は、DBMS クライアントへの接続リソースを解放しません。アプリケーション接続は、リソースを解放する責任があります。このため、アプリケーション接続は、すべての共有接続が閉じられた後に、閉じなければなりません。

例:

//Application code (without checks):
  FhDll := LoadLibrary(PChar('Project2.dll'));
  @FpShowData := GetProcAddress(FhDll, PChar('ShowData'));
  FpShowData(FDConnection1.CliHandle);

//DLL code:
procedure ShowData(ACliHandle: LongWord);
begin
  FDConnection1.SharedCliHandle := ACliHandle;
  FDConnection1.Connected := True;
  FDQuery1.Active := True;
end;

関連項目