Page 1 of 1

Interbase incorrect fieldsize for TField

Posted: Thu 07 Jul 2011 15:12
by evdkraan
IBDac version 3.60.0.23 with InterBase 2007 and InterBase XE.

When querying a InterBase database created with charset UNICODE_LE or UTF8 the automaticly and/or persitent fields are generated wirh the incorrect field size.

The problem is in the IBCClasses unit in the function TGDSConnection.GetCharLength, because the CharSetID used for these charsets (ID 59 for UTF8 and ID 64 for UNICODE_LE) in InterBase aren't in the case statement.

With IBX this worls without a problem. So please have a look at the unit IBSQL in function TIBXSQLVAR.GetCharsetSize because there are a lot more CharSetID's in the case statement.

If I add the CharSetID's 59 with Result := 4 and 64 with Result := 2 to the IBCClasses, the fieldsizes are correct and I cann't enter more characters in a DBEdit then the size of the field declared in the database.

Could you please verify if my corrections are correct ?

Posted: Fri 08 Jul 2011 10:42
by AndreyZ
Hello,

Thank you for the information. We have fixed this problem. This fix will be included in the next IBDAC build. You can use your corrections, they are correct.

Posted: Fri 08 Jul 2011 21:10
by evdkraan
Okay,

Thank you for the quick response.