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 :
à la création de la connexionLe projet xxx a déclenché la classe d'exception Exception avec le message : 'Can't perform operation on inactive transaction'
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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.
Je ne vois pas ce que j'ai manqué ? des idées ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
merci d'avance
Partager