I'm trying to write an OnValidate event on a field on a TClientDataSet, something along the lines of
procedure TForm8.ClientDataSet1MyFieldValidate(Sender: TField);
begin
if Sender.AsFloat > 30 then
raise Exception.Create('Too Much!!!');
end;
But Sender.AsFloat is always 0 - how do I do field level validation (I realize in this instance I could use constraints or set Min/Max values)
This is a bug that has been introduced in Delphi XE3, here is the QC report, and a quick movie I've made to illustrate the problem clearly. Hopefully this will be fixed in the next update. There is a hot fix in one of the comments on the QC page if you need this fixed immediately.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With