[Lazarus-es] dataset not in edit or insert mode
Paola Bruccoleri
pbruccoleri en adinet.com.uy
Vie Abr 29 14:07:51 CEST 2011
El 29/04/2011 05:19 a.m., José Antonio Cuello escribió:
> Al realizar los opens se lanzan muchos eventos como afterscroll del
> dataset, que a su vez pueden lanzar onchange de campos y objetos.
> El error podría venir de una asignación de valor a un campo de alguna
> de las tablas ya abiertas realizado en un evento de los campos u
> objetos dependientes del dataset Obras.
>
> Es decir, al abrir Obras se ejecuta del dataset/datasource ->
> afterScroll / onStateChange -> Esto rellena objetos de la pantalla que
> tienen onChange -> en el onChange existe un (como ejemplo)
> tblMonedas.fieldbyname('miDivisa').asString := 'EUR';
>
> y como no está en inset ni edit, da error.
Hola José..
si, es tal como dices....
ese form tiene un grid donde muestro solo 3 campos del query, y al
costado, por cuestiones cosméticas, en controles DBxxx muestro los demás
datos del qry.
Justamente en uno de esos controles hay un evento onChange.
Ahora agregué el if y quedó así:
procedure TListaObras.edtPlazoObraChange(Sender: TObject);
begin
if dsObras.DataSet.State in dsEditModes then
qryObras.FieldByName('fecha_fin').AsDateTime:=
IncMonth(qryObras.FieldByName('fecha_adjudicacion').AsDateTime,
qryObras.FieldByName('plazoobra').AsInteger);
end;
(no entiendo porqué antes no saltaba.. quizás algún bug anterior..)
De todas formas, saqué eso del evento onChange y lo puse en el evento
onEditingDone, que (creo) es lo más correcto... supongo que al hacer el
post se ejecuta...
PERO.. no llego al post!
Como ese query muestra los datos de 2 tablas, asocié un tzUpdateSql al
mismo para poder hacer modificaciones a algunos de los campos de una
tabla y al hacer el post ZAS!!... (el post lo hace el botoncito
correspondiente de un dbnavigator asociado)
seguiré investigando.... estoy mirando un proyecto que usa algo similar
y no encuetro la diferencia.. (aclaro que antes funcionaba ok)
muchas gracias por todo..
chauuuuuuuuu
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20110429/b2ed0864/attachment-0002.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: moz-screenshot-29.png
Type: image/png
Size: 12307 bytes
Desc: no disponible
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20110429/b2ed0864/attachment-0002.png>
More information about the Lazarus-es
mailing list