ON CHANGE

tmsarts Messages postés 18 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 octobre 2012 - 8 mai 2011 à 13:16
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 10 mai 2011 à 12:12
Salut !
J'ai une difficulté en travaillant avec l'evenement ON CHANGE d'un TDBEDIT en delphi
sourtout en calcules..
Exp :
msg d'erreur (la table n'est pas en mode edition ou insertion)!!
merci

4 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
8 mai 2011 à 13:42
Salut,

1°) ça n'a rien à voir avec l’évènement OnChange !
2°) La solution est dans le message d'erreur !!

[quote=tmsarts]msg d'erreur (la table n'est pas en mode edition ou insertion)!! /quote


[hr]@+Cirec
[hr]
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
9 mai 2011 à 10:14
Salut,

l' événement OnChange peut être appelé sans que tu aies modifié le champ: en scrollant la table par exemple: d' oú le message d' erreur si tu essaye de modifier un autre champ ...

A+


Composants Cindy pour Delphi
0
tmsarts Messages postés 18 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 octobre 2012
10 mai 2011 à 01:05
Précision
quand je place mon code a l’événement on change et j’exécute le prg. il m'affiche ce message !
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
10 mai 2011 à 12:12
Bonjour,

comme indiqué précédemement, l'évènement OnChange se déclenche de manière intempestive sur tout un ensemble d'actions même en dehors ce celles concernant ton TDBEdit.

Pour ton convaincre, mets un point d'arrêt dans l'évènement OnChange
et sur l'arrêt tape F3.

et continue en tapant F8..

ce qui signifie qu'il faut mettre des tests afin d'éviter les erreurs
(ou faire autrement bien sûr)
exemple :

sur le OnChange :
if (DataSource.Dataset.state dsEdit) or ((DataSource.Dataset.state dsInsert)then exit;
// ton code

cantador
0

Discussions similaires

onchange() dans un