[Lazarus-es] error en creación de índice secundario

Antonio Caballero Martínez antonio.caballero.martinez en gmail.com
Mar Nov 18 23:13:15 CET 2008


Hola, muy buenas a todos.

Estoy tratando de crear una tabla DBase mediante código, en la 
aplicación que estoy desarrollando.
El tema, es que se crea la tabla, pero existe un error en el índice 
secundario; y no consigo crearlo bien para poder a comenzar con la 
tabla. Creo que lo realizo bien, y no cometo errores ...
Al comentar la línea de creación del segundo índice 
(DRepresentadas.AddIndex( 'IdxNombre' ,'NombreRep', [ixCaseInsensitive] 
);), al abrir la tabla no me da error en tiempo de ejecución

En el evento OnCreate del formulario en cuestión, tengo (los puntos es 
código innecesario que he quitado por no venir al caso):

...................
WITH ( DMModuloDatosCrearTablas ) DO BEGIN
             ...................
             DRepresentadas:= TDbf.Create( nil );
             DRepresentadas.FilePath:= 'datos\';
             DRepresentadas.TableLevel:= 7;
             DRepresentadas.Exclusive:= TRUE;
             DRepresentadas.TableName:= 'Representadas.dbf';
             WITH ( DRepresentadas.FieldDefs ) DO BEGIN
                  Add( 'Id', ftAutoInc, 0, True);
                  Add( 'NombreRep', ftString, 25, True);
                 ................... // resto de campos
             END;
             DRepresentadas.CreateTable;
             DRepresentadas.Open;
             // Añadimos un índice primario y único ...
             DRepresentadas.AddIndex( 'IdRepresentada', 'Id', 
[ixPrimary, ixUnique] );
             // añadimos un índice secundario
             DRepresentadas.AddIndex( 'IdxNombre' ,'NombreRep', 
[ixCaseInsensitive] );
             DRepresentadas.Free;
             ...................
END;
...................

¿Hay algo que estoy haciendo mal?

Gracias de antemano a todos ...



More information about the Lazarus-es mailing list