1 pi�ce(s) jointe(s)
TClientDataSet exception :"Op�ration non applicable."
Bonjour,
j'ai un application ou il y a :
un sgbd firebird 4 table
3 dbgrids
3 TClientDatset
Veillez s'il vous plait regarder l'image "Datamodule.JPG " pour voir les composants pr�sents : (si l'image n'apparait pas :) )
http://www.developpez.net/forums/att...atamodule.jpg/
Ces Dgrids sont li�s via le maitre/esclave tel que sont li� dans le sgbd
Lorsque dans la table maitre(Personne) j'ajoute /je supprime ou je modifie
que se soit en cache ou le faire r�ellement les �critures/modification/suppression dans la base de donn�es ne posent pas probl�me.
La ou j'ai un bug, c'est quant j'ajoute un enreg dans la table esclave (MAIL)
l'ajout en cache se fait bien cependant lorsque je quitte
j'ai ce message :
Citation:
Le projet a provoqu� une classe d'exception EDBClient avec le message 'Op�ration non applicable.'. Processus stopp�. Utilisez Pas-�-pas ou Ex�cuter pour continuer.
souvent apr�s j'ai une violation d�acc�s
Dans le destructeur de TDataModule j'avais mis du code celui faisait des close() des DataSet , j'ai compl�tement mis en commentaire ce code et re compil�e (rebuild all) et j'ai toujours la m�me erreur
C'est toujours a ce moment la que se produit l'erreur
lorsque j'ajoute un �l�ment dans la table maitre (Personne) pas de pb
Voici le code d'ajout table esclave MAIL :
Code:
1 2 3
| DataModule1->CDSMail->Append();
DataModule1->CDSMail->FieldByName("MAIL")->AsString="[email protected]";
DataModule1->CDSMail->Post(); |
after Insert:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| void __fastcall TDataModule1::CDSMailAfterInsert(TDataSet *DataSet)
{
CDSMail->AggregatesActive=true;
if(VarIsNull(CDSMail->Aggregates->Items[0]->Value())){
id=0;
}else{
id=CDSMail->Aggregates->Items[0]->Value() ; // lit la valeur du champ en cours
}
_F_ID_MAX_MAIL=id+1 ; // var globale portée classe TDataModule memorise ID_MAIL
CDSMail->FieldByName("ID_MAIL")->AsInteger=_F_ID_MAX_PERS;
} |
Code:
1 2 3 4 5
| __fastcall TDataModule1::~TDataModule1()
{
//Destructeur : liberation de ressources
//FreeDataModule();
} |
Conclusion
si j'ajoute un ereng dans la table secondaire en cache , je quitte plantage
D�o� peut venir cette exception ?
merci je tourne en rond :calim2:
en vous remerciant