Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   añadir campos a un ClientDataSet en ejecución (https://www.clubdelphi.com/foros/showthread.php?t=49544)

sanpra 24-10-2007 11:22:09

añadir campos a un ClientDataSet en ejecución
 
Hola amigos,

estoy intentando insertar campos en un ClientDataSet en tiempo de ejecución para almacenar totales por año según un rango de fechas (puede haber más ó menos años) y al pasar por CreateDataSet da un error que no soy capaz de resolver.

Utilizo Delphi 5, y lo hago de la siguiente forma:

Cadena := TStringField.Create(nil);
Cadena.DisplayLabel := 'Contratista';
Cadena.FieldKind := fkData;
Cadena.FieldName := 'Contratista';
Cadena.Size := 100;
Cadena.Lookup := false;
Cadena.Name := 'cdsContratistasContratista';
cdsContratistas.Fields.Add(Cadena);

Alguién puede echarme un cable??

Zenkiu por todo!!

mensana 24-10-2007 12:26:56

aniadir campos a un ClientDataSet en ejecución
 
Falta asignar el dataset al campo que se crea

Cadena := TStringField.Create(nil);
Cadena.DisplayLabel := 'Contratista';
Cadena.FieldKind := fkData;
Cadena.FieldName := 'Contratista';
Cadena.DataSet := <MiDataSet>;
Cadena.Size := 100;
Cadena.Lookup := false;
Cadena.Name := 'cdsContratistasContratista';

// Esto me parece que sobra
//cdsContratistas.Fields.Add(Cadena);

sanpra 24-10-2007 13:25:07

Debugeando me falla al insertar una línea en el ClientDataSet, en el primer campo que encuentra, si es integer o float dice "Nombre_Campo has no DataSet", si es string da un error de memoria.

He utilizado otras veces ClientDataSets pero los configuraba en diseño, y nunca he especificado la propiedad "DataSet" en los campos que tenía creados. tampoco nunca había añadido campos en ejecución.

Aparte, hay varios campos que no puedo enlazar con un DataSet, ya que los totales por año se van acumulando para cada registro que encuentra de ese Contratista, y no sé como hacer que funcione...


La franja horaria es GMT +2. Ahora son las 11:11:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi