FireDAC.Comp.Client.TFDCustomConnection.SharedCliHandle

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property SharedCliHandle: Pointer read FSharedCliHandle write SetSharedCliHandle;

C++

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

Propriétés

Type Visibilité  Source Unité  Parent
property public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDCustomConnection


Description

Handle CLI partagé avec d'autres connexions.

Utilisez SharedCliHandlepour définir un handle de connexion d'interface de niveau d'appel SGBD partagé, renvoyé par la propriété CliHandle d'une autre connexion. Cela est utile pour transférer la connexion d'une application dans une DLL (voir Développement de DLL).

Remarque : Une connexion ne peut pas être partagée avec un autre processus, car le partage fonctionne seulement à l'intérieur du même espace d'adressage.

Après la définition de Connected sur True pour cette connexion, elle utilisera la même session ou connexion SGBD physique comme autre connexion, et elle partagera le même état de transaction. 

Après la définition de Connected sur False, cette connexion DLL ne libèrera pas les ressources de connexion au client SGBD. La connexion d'application est responsable de la libération des ressources. Pour cette raison, la connexion d'application doit être fermée après la fermeture de toutes les connexions de partage.

Exemple

//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;

Voir aussi