[fpc-devel] Recent changes to TField.SetData
michael.vancanneyt at wisa.be
michael.vancanneyt at wisa.be
Tue Apr 5 09:38:33 CEST 2011
On Tue, 5 Apr 2011, LacaK wrote:
>
>>
>>
>> --or--
>> introduce any new method (ValidateFieldData ? ;-))) and let tdatsset
>> descendants use it:
>> {$IFDEF FPC}
>> ValidateFieldData(Field: TField; Buffer: Pointer);
>> {$ENDIF}
>>
>> --or--
>> some smarter solution ?
>>
> The whole code, which is repeated (and can be put in one place) is:
>
> if not (State in [dsEdit, dsInsert, dsFilter, dsCalcFields]) then
> begin
> DatabaseErrorFmt(SNotEditing,[Name],self);
> exit;
> end;
> if (Field.FieldNo>0) and not (State in [dsSetKey, dsFilter]) then
> begin
> if ReadOnly then DatabaseErrorFmt(SReadOnlyField, [Field.DisplayName],
> Self);
> Field.Validate(Buffer);
> end;
You are right in your dislike.
I will create a 'BeforeSetFieldData' in TDataset and put the code in there,
and the same for 'AfterSetFieldData' with the OnChange code.
Michael.
More information about the fpc-devel
mailing list