@LacaK: what do you mean?
If you are talk to me: I already made some checks and i locate the place where the truncation is done in TStringField, and i think i refer to it, look in dataset.inc for Buf[size]:=#0; command in TStringField methods.
I tried also to figure out what object is used in case of auto created fields but had no sucess on it.
Right now, i continue my project without creating TStringField in IDE. I set up autocreated fields on runtime (at least things that i can change, like .DisplayLabel, .Origin, but not Size cause throws exception).
What i have made so far in my project that i started (2 months ago) in SQLite and now i restarted and clean-up in MySQL is:
a base dbForm as anchestor for all my db oriented forms that provides the following:
* a TSQLQuery
* Provides a PageControl with 2 pages:
a) tabList that holds a dbgrid for listing records
b) tabRecord that holds an empty panel and an empty PageControl for displaying details that is used on CRUD operations.
* Can been shown in 2 different modes:
a) Select only record (without details)
b) As CRUD form
* can be used as Master or Detail form (detail or master connected forms should be descedants).
* Provides also a simple Filter mechanism on whatever field supports the like operator in db
* Instead of bookmarks, it uses primary keys (can be located from it, or better can be provided by virtual methods from descedants)
for locating the current record after a refresh.
* Updates grid's column captions, and some label captions with the displayLabel from bounded fields in case the caption of control is the same with the related field name, in order to minize design time with entering the same label again and again.
* Provides ApplyUpdates and Commit in AfterPost, AfterDelete events and some basic error handling (that can be improved), and also creates some extra functions that are used as event handlers (e.g. qry_AfterPost_BeforeCommit)
* Provides a mechanism for changing Sort Order. Order By clause can be manipulated from another dialog where user can change the field list order, ASC, DESC for all fields that are displayed in TDBGrid (and .Origin property is not empty). Information is saved in 2 LSB bits of .Tag property of TDBGrid columns.
a SettingDialog Form where all application settings can be (explicit) stored in 3 different sections (application,security,database)
if someone is interest on it...