Ver Mensaje Individual
  #10  
Antiguo 15-05-2003
pedrohdez pedrohdez is offline
Miembro
 
Registrado: may 2003
Ubicación: Murcia
Posts: 54
Reputación: 22
pedrohdez Va por buen camino
Hola,

Kinobi
Cita:
pero, por contra, tienen un consumo de recursos mayor, ya que se crean (en la creación del formulario o modulo de datos) tantos objetos TxxxxField como campos persistentes haya y en el caso de FieldByName se utiliza directamente el objeto TDataSet correspondiente.
Tienes razon solo en parte, en cuanto abres el TDataSet se crea la estructura de TFields correspondientes, asi que salvo que estemos hablando de un TDataModule con muchos TDataSet de los cuales solo se usen unos pocos, el consumo de memoria es practicamente el mismo, solo hay diferencias en el momento de ese consumo, al crear el form o al abrir los DataSet.
Yo uso habitualmente el segundo metodo, el de crearlos persistentes, esto me permite asociarles formas de presentación, validaciones, tamaños al mostrar en un grid etc. pero tienen un problema importante, si cambias el tamaño de un campo, pongamos que un texto de 20 a 40 caracteres, si te olvidas de corregir alguno de estos campos persistentes te encontraras con bonitos errores de violacion de memoria en tiempo de ejecución en cuanto un valor sobrepase los 20 caracteres iniciales.
Ademas, se os ha olvidado un tercer metodo de acceso, "a pelo", por su posicion DataSet.Fields[0] yo lo uso mucho en procesos internos.

PD. por cierto, a ver si alguien me dice como se pone eso de "posteado por fulanito" que no lo encuentro la opcion.
Responder Con Cita