[FIREDIRD] [FIREDAC] Firedac et le Thread
Bonjour à tous
Je suis en train de basculer une appli qui utilisait les composants IbDAC vers Firedac sous Delphi XE7, mais j'ai des difficultés à lancer une connexion dans un thread.
J'ai suivi la procédure indiquée par :
http://docwiki.embarcadero.com/RADSt...ding_(FireDAC)
https://riptutorial.com/fr/delphi/ex...xemple-firedac
Ainsi, le FdManager est activé avec avec la définition de connexion fournie avec FDManager.AddConnectionDef('appli', 'FB', Param);
La définition de la connexion est privée comme cela est recommandé ( http://docwiki.embarcadero.com/RADSt...xion_(FireDAC) ) pour l'utilisation dans un Thread
Dans Param, j'ai bien indiqué que la connexion est pooled (Pooled=True) comme indiqué dans les tutos.
mais rien n'y fait.
Je reçois le message :
Citation:
Le projet xxx a déclenché la classe d'exception Exception avec le message : 'Can't perform operation on inactive transaction'
à la création de la connexion
Code:
Base_FireDac := TFDConnection.Create(nil);
Pour infos, j'utilise le composant de JEDI VCL pour le thread (TJvThread) au cas où cela peut avoir une incidence.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
PROCEDURE TfData.Th_Envoi_ErreurExecute(Sender: TObject; Params: Pointer);
VAR
Base_Firebird: TIBCConnection;
Trans_Firebird: TIBCTransaction;
....
begin
Base_FireDac := TFDConnection.Create(nil);
Base_FireDac.ConnectionDefName := 'appli';
......
end; |
Je ne vois pas ce que j'ai manqué ? des idées ?
merci d'avance