[Lazarus] TDBEdit, TStringField Size, DataSize, DisplayWidth and MaxLength

LacaK 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)

-Laco.



More information about the Lazarus mailing list