Un moyen de savoir quel TField soulève EDBClient avec le message 'Valeur de champ requise.'?

StackOverflow https://stackoverflow.com/questions/1009034

Question

J'ai un TClientDataSet avec plusieurs champs et je reçois cette exception. Je suis sûr d'avoir oublié de définir une valeur de champ, mais la question est de savoir quel champ?

Existe-t-il un moyen de savoir rapidement quel champ lève cette exception?

MODIFIER

J'ai résolu le problème, je connectais TClientDataSet au mauvais fournisseur, qui avait un champ obligatoire sur le serveur mais ne l'avait pas sur le client.

Mais cela n’invalide toujours pas ma question, j’ai perdu beaucoup de temps à le comprendre et, si j’avais un moyen de savoir quel champ requis côté serveur soulève cette erreur, il serait très rapide de comprendre ce qui se passait. mon erreur.

EDIT 2

QC associés:

# 5557 - Résolu comme "Tel que conçu".

# 54380 - Ouvrir

Était-ce utile?

La solution

Lorsque le débogueur vous informe de l’exception, examinez la pile d’appels. Naviguez jusqu'à la routine qui parcourt la liste des champs et examinez la variable de contrôle de boucle à cet endroit pour déterminer la distance parcourue par la liste des champs de votre programme avant de générer une exception.

Si la variable de contrôle de boucle n'est pas précise, définissez un point d'arrêt dans cette routine et réexécutez votre programme. Passez à travers jusqu'à ce que vous obteniez à nouveau l'exception.

Une autre option consiste à examiner tous les champs et à constater par vous-même lequel manque une valeur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top