Joaquin,
Se ha hecho por la sencilla razón de que nos parece un tremendo error el
permitir usar un dataset del cual no se han definido ninguno de sus campos,
y por eso entendimos que había que provocar el error cuando así se hacía. No
tiene nada que ver con ninguna imposibilidad técnica para hacerlo. En
definitiva ha sido un error nuestro de diseño.
No obstante, como he comentado, haremos que sencillamente no se pueda entrar
en edición y espero que eso sea suficiente.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Joaquín Martínez" <
jmartial@interbook.net> escribió en el mensaje
news:465ab9a8$[email=
1@ozsrv2.ozlan.local...]
1@ozsrv2.ozlan.local...[/email]
> Hola Ignacio,
>
> A mí me ocurre igual que a Pablo, me falla esa modificación del
> MemDataset, en todas las aplicaciones.
>
> Aparte, no entiendo muy bien el hecho de que se dé por sentado que quiero
> editar el memDataset. En mi caso no lo hago.
>
> Respecto a modificar las clases, prefiero no hacerlo, creo que ya tenemos
> experiencia en el pasado y no lo veo como la mejor recomendación.
>
> He ido al código fuente a las líneas que comentas y si son esas las únicas
> que has cambiado, no lo entiendo. Me explico:
>
> ¿ Por qué se ha decido echar al usuario de la aplicación por ese motivo
> sin ningún tipo de opción ?
>
> ¿ Por qué en vez de ponerla como única opción no se evalúa por ejemplo un
> codeblock configurable por el programador y si es nil, no lo evalúe, o
> simplemente una data con True o False con la cual el programador dice si
> desea que echen al usuario de la aplicación o simplemente ignore esas
> líneas?
>
> Creo que no tiene una difícil solución y los beneficios serían mayores que
> el cambio a realizar.
>
> Un Saludo,
> Joaquín
>
>
>
>
> Ignacio Ortiz de Zúñiga escribió:
>> Pablo,
>> >>no comprendo muy bien por que no se puede urtilizar un aData vacio
>> cuando por ejemplo una dbf o un array si se puede crear y gestionar sin
>> datos.
>> Creo que la respuesta es obvia, e incluso se ha explicado ya en este
>> foro. Una DBF aunque esté vacía contiene información sobre sus campos.
>> Una matriz vacía no contiene absolutamente ninguna información. Cuando tu
>> creas las columnas en el browse tan sólo indicas el nombre de los campos.
>> >>Tampoco entiendo como una clase que se usa desde (si no me falla la
>> memoria) hace más de 1 año,
>> >>se puede cambiar para que se adapte al cambio de otras como por
>> ejemplo los browses.
>> Realmente no es así. Se ha cambiado para que los métodos de edición,
>> alta y borrado funcionen correctamente.
>> >>pero me parece que la POO precisamente intenta evitar este tipo de
>> efectos colaterales
>> Insisto, no es un efecto colateral. Creo que es muy sencillo de
>> entender: No es posible editar un dataset si ni siquiera se le suministra
>> la información de sus columnas. Por lo tanto, es un modificación que se
>> ha realizado (durante la etapa PRE-RELEASE) para solucionar el problema
>> de la edición del MemDataset, y por lo tanto no tiene nada que ver con el
>> uso incorrecto de la OOP.
>> Ahora tienes los fuentes, por lo tanto no tienes más que comentar las
>> líneas 188 a 192 de Memdataset.prg, pero lógicamente bajo tu
>> responsabilidad.
>> En cualquier caso le echaremos un vistazo por si se pudiese hacer algo,
>> como por ejemplo, dejar el Memdataset como de sólo lectura.
>> Un saludo,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>>
http://www.xailer.com
>> "Pablo Herranz" <
pabloi@ibertabaco.com
>> <mailto:
pabloi@ibertabaco.com>> escribió en el mensaje
>> news:[email=
465aa827@ozsrv2.ozlan.local...]
465aa827@ozsrv2.ozlan.local...[/email]
>>
>> Hola Ignacio, siento decirte que he tenido que volver a la version
>> 1.3c, que funcionaba con los aData vacios, debido a que tengo 12
>> proyectos Xailer ejecutandose en 30 Cooperativas, utilizando esta
>> clase de esta manera, no comprendo muy bien por que no se puede
>> urtilizar un aData vacio cuando por ejemplo una dbf o un array si se
>> puede crear y gestionar sin datos.
>>
>> Tampoco entiendo como una clase que se usa desde (si no me falla la
>> memoria) hace más de 1 año, se puede cambiar para que se adapte al
>> cambio de otras como por ejemplo los browses.
>>
>> Yo no soy quien para decir a nadie como tiene que programar pero me
>> parece que la POO precisamente intenta evitar este tipo de efectos
>> colaterales, el encapsulamiento hace que el interface con el
>> programador sea uno bien definido, y el cambio de funcionalidad
>> interna no debería repercutir en las aplicaciones que ya usan esa
>> clase
>>
>> Entiendo que muchas veces y además en un producto como Xailer (que
>> todavía está evolucionando) a veces es imposible no romper código,
>> pero creo que en este caso en concreto se podría evitar dejando la
>> funcionalidad como estaba y ampliando la clase para que permita
>> condicionalmente usar nuevas funcionalidades o heredando.
>>
>> Saludos
>>
>> Pablo H
>>
>> "Ignacio Ortiz de Zúñiga" <
NoName@xailer.com
>> <mailto:
NoName@xailer.com>> escribió en el mensaje
>> news:4656fc26$[email=
1@ozsrv2.ozlan.local...]
1@ozsrv2.ozlan.local...[/email]
>> > Pablo,
>> >
>> > Con las nuevas opcionesde edición del browse me temo que es
>> imperativo que
>> > se le de su estructura. Realmente el error estaba antes al no
>> controlarlo.
>> >
>> > Un saludo,
>> >
>> > --
>> > Ignacio Ortiz de Zúñiga
>> >
http://www.xailer.com
>> >
>> >
>> > "Pablo Herranz" <
pablo@ibertabaco.com
>> <mailto:
pablo@ibertabaco.com>> escribió en el mensaje
>> > news:[email=
4655cb5a@ozsrv2.ozlan.local...]
4655cb5a@ozsrv2.ozlan.local...[/email]
>> >> Hola, con la anterior version de Xailer, yo usaba los TMemDaset,
>> con el
>> >> aData vacioy no me fallaba pero ahora me arroja el error "'aData'
>> >> parameter empty with no structure defined"
>> >>
>> >> Sin embargo en "Lo Nuevo viene la correccion de este bug "Bug
>> en metodo
>> >> Open cuando parametro aData vacio".
>> >>
>> >> ¿Como puedo arreglar el error sin cambiar mi codigo?
>> >>
>> >> Saludos
>> >>
>> >> Pablo H
>> >>
>> >
>> >