Página 1 de 1

Para Ignacio

Publicado: Vie Sep 07, 2007 10:57 am
por Bingen Ugaldebere
Acabo de instalar la versión 1.6 y he recompilado el programa mas gordo
para probarlo y va bien, pero me siguen fallando unas cosillas como en
la 1.5 que te puse en un mensaje hace un par de semanas y que ya me
extrañaba que no hubieras contestado.
Si te parece te reproduzco de nuevo aquí­ el mensaje para que no andes
buscando. Muchas gracias.
------------------------------------------------------------ ---------
Sobre tMemDataSet
Hola Ignacio un par de preguntas sobre las modificaciones que hicisteis
en esta clase.
En la versión 1.4 me andaba sin problemas pero al cambiar a la 1.5 me
han fallado todos los que tení­a y el error salta en el METHOD FieldGet(
n ) el Return ::aWork[ nRecno, n ] me da error ya que n se sale de los
elementos de la tabla y casca, asi que lo he cambiado por:
RETURN If(n<=Len(::aWork[ nRecno] ), ::aWork[ nRecno, n ], Nil)
y ya no me casca, aunque es un poco chapucero.
Otra cosa más en el METHOD Open si el array viene vací­o no puede tomar
los Valtype de él sino que directamente ponéis
::lReadOnly := .T.
LogDebug( "XAILER: TMemDataSet:'aData' parameter empty with no
structure defined. :lReadOnly set to TRUE." )
Pero si antes de hacer el Open ya he hecho oSender:GetStructFrom
pasándole todos los tipos y tamaños, antes funcionaba y ahora ya no le vale.
Evidentemente deberí­a de prevalecer el GetStrucFrom creo yo, bastarí­a
con hacer esto en el METHOD Open
If Len(::aFields)=0
::lReadOnly := .T.
LogDebug( "XAILER: TMemDataSet:'aData' parameter empty with no
structure defined. :lReadOnly set to TRUE." )
Endif
Pero entonces hay que controlar que si el set esta vací­o no se pueda
hacer un Edit lo cual esta implementado ahora de forma que da un error
de la aplicación con ::NewError( LT( XA_MSG_SET_VACIO_EDIT_NO_PERMITIDO
) ) lo cual si lo quito no casca el programa pero me entra en una
lí­nea de edición fantasma que ya no se como quitar.
Gracias por tu atención y salu2.

Para Ignacio

Publicado: Vie Sep 07, 2007 12:45 pm
por ignacio
Bingen,
Creo que está solucionado el problema que se producia al haber utilizado
GetStructFrom() antes de hacer un Open(). Efectivamente en dicho caso se
producía un error en el método FieldGet(). El problema de edición del
registro fantasma también está solucionado. En breve subiremos una
actualización y espero que no se haya quedado nada por hacer.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com