Un modo per scoprire quale TField sta generando EDBClient con il messaggio "Valore campo richiesto."?

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

Domanda

Ho un TClientDataSet con diversi campi e ricevo questa eccezione, sono sicuro di aver dimenticato di impostare un valore di campo, ma la domanda è: quale campo?

C'è un modo per scoprire rapidamente quale campo sta sollevando questa eccezione?

Modifica

Ho risolto il problema, stavo collegando TClientDataSet al provider sbagliato, che aveva un campo obbligatorio sul server ma non aveva questo campo sul client.

Ma ancora non invalida la mia domanda, ho perso molto tempo per capirlo, e se avessi un modo per sapere quale campo richiesto dal lato server stava generando questo errore sarebbe molto veloce capire cosa fosse errore mio.

MODIFICA 2

QC correlati:

# 5557 - Risolto come " Come progettato " ;.

# 54380 - Apri

È stato utile?

Soluzione

Quando il debugger ti avvisa dell'eccezione, guarda lo stack di chiamate. Passare alla routine che sta ripetendo l'elenco dei campi e ispezionare la variabile di controllo del ciclo in quel punto per scoprire fino a che punto è arrivato l'elenco dei campi prima di generare un'eccezione.

Se la variabile di controllo del ciclo non è precisa, impostare un punto di interruzione in quella routine ed eseguire nuovamente il programma. Passa attraverso finché non ottieni nuovamente l'eccezione.

Un'altra opzione è quella di guardare tutti i campi e vedere di persona quale manca di valore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top