PDA

Ver la Versión Completa : Longitud de los campos de texto


Juan Ignacio
13-11-2004, 20:03:00
Hola:

Al leer la longitud de los campos de texto ( Table1.fields[i].Size ) me devuelve justo el doble del valor que debería devolver.

¿Podira ser un bug del BDE?

NOTA: Uso Delphi 5.

Muchas Gracias

marcoszorrilla
13-11-2004, 20:19:14
Acabo de hacer una prueba y funciona correctamente:


procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(Table1.Fields[1].Size));
end;


El campo número 2 mide 30 y esto es lo que me devuelve. No será que estas partiendo del campo 1 como inicio, cuando los campos van de 0...

Es decir si tienes 10 campos recorre del 0 al 9.

Un Saludo.

Juan Ignacio
14-11-2004, 20:16:22
Creo que el problema está en el BDE de Delphi 5. En casa tengo Delphi 7, y va bien. Te explico la prueba que he hecho:

- Compilo en programa con delphi 5.
-Cuando lo ejecuto en ese equipo, con delphi 5, me da mal.
-Cuando lo ejecuto en otro (que instalé delphi 7) SIN RECOMPILAR, me da bien.

He probado con componentes ADO y me los resultado son correctos en ambos casos. Por eso creo que es de algún bug del BDE.

Muchas Gracias.

marcoszorrilla
14-11-2004, 22:30:17
Pues yo la prueba la he hecho con Delphi 5 y no ha habido error.

Utilizo la versión del BDE 5.01.

Un Saludo.

frudolph
15-11-2004, 19:06:42
Lo que puede estar pasando es que el campo sea de tipo WideChar, en cuyo caso es lógico que cada caracter ocupe dos Bytes en lugar de uno. Sería el caso de SQL-Server por ejemplo.

A propósito: ¿Qué tipo de Motor de Base de Datos estás utilizando?

Juan Ignacio
15-11-2004, 21:18:23
Solucionado :)

Me he bajado la actualización del BDE (bde511en.exe) y ya funciona correctamente.

MUCHISIMAS GRACIAS, POR VUESTRA AYUDA.

NOTA: uso Access 2000.