Longitud de registro distinta con Btrieve

Tengo un fichero .fdt que se ha creado y utilizado con unos ficheros ddfs de hace un tiempo. Ahora le he añadido mayor longitud (he añadido campos) a la definición de la tabla y se debe regenerar el fichero para poder utilizarlo correctamente. Antes hacía un getfirst después de abrir el fichero y controlaba el error 22 para saberlo, pero ahora (con Pervasive v.8) no devuelve nada (devuelve 0). ¿Hay alguna otra forma de controlarlo? He probado con la api BTRCALL pero tampoco he conseguido que me devuelva el error 22.
(Trabajo con Visual Basic 6.0 por si sirve de algo). Muchas gracias.

1 respuesta

Respuesta
1
Si tu haces coincidir el tamaño del registro con el fichero ddf no tienes problemas, además, si ya conoces el tamaño del registro ¿para qué quieres conocerlo con un error 22? Creo que sería más fácil crear un type con el registro y hacerlo publico. De todos modos, la gestión de errores es idéntica, solo se han incorporado nuevos códigos.
Hola. Mi aplicación al arrancar debe detectar que han cambiado los ddfs, y si es así, entonces se regenera la tabla, ya que si no, luego me da errores al leer los nuevos campos añadidos a los ddfs. Antes, hacía vaccess.getfirst y devolvía un error 22. Al entrar en la aplicación se controlaba ese error y no tenía que preocuparme de cambiar el código del programa si cambiaban los ddfs. Ahora necesito una fórmula similar para hacer lo mismo. Muchas gracias por tu tiempo.
Puedes utilizar la operación 15, (Status) te devolverá mucha más información, sin necesidad de controlar un error, como longitud del registro, número de registros, claves, tamaños, etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas