[DXE5] TMemoField instead TSringField

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for InterBase & Firebird in Delphi and C++Builder
Post Reply
ricolebo
Posts: 40
Joined: Tue 12 Feb 2008 12:30

[DXE5] TMemoField instead TSringField

Post by ricolebo » 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

PavloP
Devart Team
Posts: 149
Joined: Fri 24 Jan 2014 12:33

Re: [DXE5] TMemoField instead TSringField

Post by PavloP » Tue 08 Jul 2014 12:59

In order for a varchar(2000) field to be mapped as TStringField, use the following values for dbExpress driver for InterBase and Firebird:

LongStrings=True
UseUnicode=False.

ricolebo
Posts: 40
Joined: Tue 12 Feb 2008 12:30

Re: [DXE5] TMemoField instead TSringField

Post by ricolebo » Tue 08 Jul 2014 13:57

Thank you very much PavloP !
It works perfect now

Eric

PavloP
Devart Team
Posts: 149
Joined: Fri 24 Jan 2014 12:33

Re: [DXE5] TMemoField instead TSringField

Post by PavloP » Tue 08 Jul 2014 14:00

If any other questions come up, please contact us.

Post Reply