FireDAC.Comp.Client.TFDCustomConnection.SharedCliHandle
Delphi
property SharedCliHandle: Pointer read FSharedCliHandle write SetSharedCliHandle;
C++
__property void * SharedCliHandle = {read=FSharedCliHandle, write=SetSharedCliHandle};
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
property | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomConnection |
Beschreibung
Das mit anderen Verbindungen geteilte CLI-Handle.
Mit SharedCliHandle legen Sie ein gemeinsam genutztes DBMS-CLI-Verbindungs-Handle (Call Level Interface) fest, das von der Eigenschaft CliHandle einer anderen Verbindung zurückgegeben wird. Damit kann die Verbindung einfach von einer Anwendung in eine DLL übertragen werden (siehe DLL-Entwicklung).
Hinweis: Eine Verbindung kann nicht mit anderen Prozessen gemeinsam genutzt werden, weil die gemeinsame Nutzung nur innerhalb desselben Adressraums funktioniert.
Nach dem Setzen von Connected auf True für diese Verbindung verwendet die Verbindung dieselbe physische DBMS-Verbindung oder Sitzung und denselben Transaktionsstatus wie die andere Verbindung.
Wenn Connected auf False gesetzt wird, gibt diese DLL-Verbindung die Verbindungsressourcen nicht an den DBMS-Client frei. Die Anwendungsverbindung ist für die Freigabe der Ressourcen zuständig. Deshalb muss die Anwendungsverbindung nach dem Schließen aller geteilten Verbindungen geschlossen werden.
Beispiel
//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;