Page 1 of 1

Una duda sobre objetos

Posted: Thu Dec 20, 2007 7:52 pm
by Marcelo Via Giglio
Hola foro,

recuerdo que en 16 bits (no se si era por eso), las datas de los objetos no podian pasar de 9 caracteres ya que se tenia que tomar en cuenta el caracter _.

La pregunta es si ahora con 32 bit no hay problema, la pregunta la hago referente a utilizar campos de tablas ADT con nombres de mas de 8 caracteres, ya que tengo problemas utilizando la clase tDatabase de FW con campos como el mencionado. Hay alguna manera de mejorar esto?

saludos

Marcelo

Posted: Thu Dec 20, 2007 8:20 pm
by Antonio Linares
Marcelo,

Los nombres de las DATAs no tienen limitación pero si la siguen teniendo los nombres de _ de los DBFs.

Esto es debido a la necesidad de mantener compatibilidad con la estructura de los ficheros DBF

Posted: Fri Dec 21, 2007 11:04 am
by Marcelo Via Giglio
Antonio,

gracias por tu respuesta, la compatibilidad es con los DBF pero que pasa con los ADT, ya que este tipo de archivo si me permite mas de 10 caracteres como nombre de campo, ademas, funcionan perfectamente de manera directa y el problema es con la clase TDataBase.

saludos

Marcelo

Posted: Fri Dec 21, 2007 11:54 am
by Antonio Linares
Marcelo,

Que RDD usas para los archivos ADT ?

De momento, que sepamos, todos los RDDs tienen esa limitación de la longitud del nombre de _, ya que "heredan" de un RDD primario

Posted: Fri Dec 21, 2007 12:23 pm
by Marcelo Via Giglio
Antonio,

el que viene con xHarbour, de tu sitio, puse un nombre de campo con 11 caracteres y lo pude referenciar como siempre, alias -> nombredecampo, sera que TdataBase, podria tomar el nombre completo, viendo el fuente, creo que alli esta el problema en el metodo OnError, pruebo y comento

saludos

Marcelo

Posted: Fri Dec 21, 2007 12:28 pm
by Marcelo Via Giglio
Yap,

en la linea 370 de database.prg le quite el 9 y ya,

era RTrim( SubStr( cField, 1, 9 ) ) ahora RTrim( SubStr( cField, 1) )

sospecho que esto no quita compatibilidad, estare en lo cierto

saludos

Marcelo

Posted: Fri Dec 21, 2007 1:19 pm
by Antonio Linares
Marcelo,

Tu cambio es correcto. Debe tratarse de un cambio reciente en los RDDs

Has probado a usar nombres de campos de más de 11 caracteres ?

Posted: Fri Dec 21, 2007 1:32 pm
by Marcelo Via Giglio
Antonio,

si acabo de probar un campo con 18 caracteres

gracias

Marcelo

Posted: Fri Dec 21, 2007 1:35 pm
by Antonio Linares
Marcelo,

gracias,

Habrá que comprobar si tambien estan soportados en DBFs "corrientes" y si ambos Harbour y xHarbour lo soportan