[DXE5] TMemoField instead TSringField
Posted: Tue 08 Jul 2014 07:26
Hello,
I try to migrate my application from D7 to DEX5 on WIN8
I have DBXDriver 4.3 with source and my dataBase is FireBird 2.5 (test done also with last version)
I have many persistents fields in the TClienDataSets, so to keep compatability between sources D7 and XE5 I set this options in connexion driver :
LongStrings False
UseUnicode False
With these options StringFields stay String and not wideString (it's what I want)
My problem is that StringField declared as varchar(2000) in the dataBase are considered now as TMemoField !! and these fields don't work in my application as memo.
So, What can I do to have fields declared as varchar(2000) taken as TSringField and not as TMemoField ?
To see this, just make persistant the fields of a ClientDataSet with a varchar(2000) in the select query.
Note : With DBXDriver Embarcadero fields varchar(2000) are seen as StringField
Thank in Advance for your help
Eric
I try to migrate my application from D7 to DEX5 on WIN8
I have DBXDriver 4.3 with source and my dataBase is FireBird 2.5 (test done also with last version)
I have many persistents fields in the TClienDataSets, so to keep compatability between sources D7 and XE5 I set this options in connexion driver :
LongStrings False
UseUnicode False
With these options StringFields stay String and not wideString (it's what I want)
My problem is that StringField declared as varchar(2000) in the dataBase are considered now as TMemoField !! and these fields don't work in my application as memo.
So, What can I do to have fields declared as varchar(2000) taken as TSringField and not as TMemoField ?
To see this, just make persistant the fields of a ClientDataSet with a varchar(2000) in the select query.
Note : With DBXDriver Embarcadero fields varchar(2000) are seen as StringField
Thank in Advance for your help
Eric