[Lazarus] TDBEdit, TStringField Size, DataSize, DisplayWidth and MaxLength
lacak at zoznam.sk
Fri Oct 14 10:29:20 CEST 2016
Dňa 14.10.2016 o 10:08 Tony Whyman via Lazarus napísal(a):
> On 14/10/16 06:43, LacaK via Lazarus wrote:
>> I do not know IBX, but don't you use overriden
>> TDataSet.InternalInitFieldDefs ? It will allow you put extra info
>> into FieldDef and then use overriden TDataSet.CreateFields, which
>> will allow you pass extra info from TIBFieldDef into TIBStringField
>> for example ...
>> (AFAICS Zeos do it in this way also)
> That is basically what IBX does.
Not only IBX I think ;-) I suppose that all TDataSet descendants must
follow this, because in Delphi is TFieldDef.CreateField also not virtual.
Probably there is logic, why it is designed as is (may be
CreateFields/BindFields should care about TFieldDef->TField).
> My point is that it would be better to put the passing of the extra
> info into a subclassed TFieldDef rather than have it in TIBCustomDataSet.
I understand, but I think, that you must care also about persistent
fields, where you must hook into BindFields
(in all cases there are only 3 lines of code in CreateFields which
iteratte over FieldDefs and create field so IMO no big problem override it)
More information about the Lazarus