[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