<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=ISO-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.19328">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff text=#000000>
<DIV><FONT size=2 face=Arial>Paola ya hace rato que no toco Lazarus, pero me 
parece que te está faltando el Post el cual va dentro de una transacción, algo 
como lo que sigue:</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>startransaction</FONT></DIV>
<DIV><FONT size=2 face=Arial>post ó execsql</FONT></DIV>
<DIV><FONT size=2 face=Arial>commict</FONT></DIV>
<DIV><FONT size=2 face=Arial>endtransaction</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Saludos</FONT></DIV>
<DIV>=========<BR>|| ISMAEL ||<BR>=========</DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> 
  <A title=pbruccoleri@adinet.com.uy 
  href="mailto:pbruccoleri@adinet.com.uy">Paola Bruccoleri</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  title=lazarus-es@lists.lazarus.freepascal.org 
  href="mailto:lazarus-es@lists.lazarus.freepascal.org">Spanish version of 
  Lazarus List</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Thursday, September 27, 2012 9:35 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Lazarus-es] actualizar grid 
  automáticamente</DIV>
  <DIV><BR></DIV>Hola todos..<BR>muchas gracias por las sugerencias. Antes de 
  probar con un timer, comencé a estudiar esto de los eventos. Es muy sencillo y 
  claro el concepto. <BR>Aparentemente me funciona porque en el 
  ZIBEventAlerter1EventAlert, donde hago los refresh coloqué un showmessage a 
  ver si se disparaba.<BR>Y lo hace tanto si agrego registros desde programa1 
  (donde están los grids) como de programa2.. PERO... los refresh no refrescan 
  nada si agrego registros desde el programa2, por más que el evento se 
  disparó.<BR><BR>(Aclaro q el componente ZIBEventAlerter lo coloqué en el form 
  del programa1 donde están los grids)<BR><BR>ya probé 
  hacer:<BR>tbl.refresh<BR>dbgrid.refresh<BR><BR>y 
  también:<BR>tbl.close;<BR>tbl.open;<BR>dbgrid.refresh (el dbgrid q muestra esa 
  tabla)<BR><BR>(también tengo una consulta q debo actualizar, q no la puse allí 
  para simplificar, y es la misma cosa)<BR><BR>y nada!<BR>solo aparece el cambio 
  si cierro el programa y lo vuelvo a abrir....<BR><BR><BR><BR><BR><BR>El 
  27/09/2012 08:53 a.m., Gastón Dall' Oglio escribió: 
  <BLOCKQUOTE 
  cite=mid:CACOHOD6QuNSxyy-wR__HdT=5z13Qgh_pevBmAn4OpxxddyCFOg@mail.gmail.com 
  type="cite">
    <DIV>Hola.<BR></DIV>
    <DIV><BR></DIV>
    <DIV>Claro, lo mejor son eventos. Pocos motores de bases de datos tienen 
    este concepto de eventos, que es una notificación enviada desde el servidor 
    al cliente.</DIV>
    <DIV><BR></DIV>
    <DIV>Por ejemplo, podés disparar un evento en un trigger de una tabla que te 
    interesa notificar los cambios a los clientes conectados a la base de datos. 
    El trigger puede ser polivalente (se dispara ante mas de un tipo de evento), 
    con lo cual te ahorras escribir varios trigger para la misma funcionalidad. 
    Es mejor darle al al trigger una position alta así se dispara último, si hay 
    otros trigger sobre la misma tabla. Ejemplo:</DIV>
    <DIV><BR></DIV>
    <DIV>CREATE TRIGGER MITABLA_CAMBIO FOR MITABLA ACTIVE<BR>AFTER INSERT OR 
    UPDATE OR DELETE POSITION 10<BR>AS <BR>BEGIN <BR></DIV>
    <DIV>    POST_EVENT 'mitabla_cambio';</DIV>
    <DIV>END</DIV>
    <DIV><BR></DIV>
    <DIV><BR></DIV>
    <DIV>Para testear, en Flame Robin fijate que si abrís el menú contextual de 
    una base de datos, en Advanced -> Monitor Events, podes agregar un evento 
    y monitorearlo.</DIV>
    <DIV><BR></DIV>
    <DIV>Saludos.</DIV>
    <DIV><BR></DIV><BR>
    <DIV class=gmail_quote>El 26 de septiembre de 2012 23:36, Oscar Benitez 
    Carrillo <SPAN dir=ltr><<A href="mailto:obc5005@yahoo.com.mx" 
    target=_blank moz-do-not-send="true">obc5005@yahoo.com.mx</A>></SPAN> 
    escribió:<BR>
    <BLOCKQUOTE 
    style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex" 
    class=gmail_quote>Hola Paola, por qué no pruebas con el uso de eventos en 
      firebird, alguna vez hice algo parecido y utilizé los eventos de firebird, 
      la verdad no utilizo zeos pero he visto que traen el componente 
      TZIBEventAlerter y TZpgEventAlerter que capturan los eventos de la base de 
      datos, para el uso de eventos puedes ver aqui:<BR><BR><A 
      href="http://www.intitec.com/varios/Firebird_uso_de_eventos.pdf" 
      target=_blank 
      moz-do-not-send="true">http://www.intitec.com/varios/Firebird_uso_de_eventos.pdf</A><BR><BR><A 
      href="http://www.firebird.com.mx/modules/AMS/article.php?storyid=35" 
      target=_blank 
      moz-do-not-send="true">http://www.firebird.com.mx/modules/AMS/article.php?storyid=35</A><BR><BR>Espero 
      te sirva, saludos.<BR>Oscar Benitez<BR><BR><BR>El 26/09/2012 02:33 p.m., 
      Paola Bruccoleri escribió: 
      <DIV class=HOEnZb>
      <DIV class=h5><BR>
      <BLOCKQUOTE 
      style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex" 
      class=gmail_quote>Hola todos..<BR><BR>tengo una aplicación (programa1) 
        siempre abierta, donde en un form hay un grid con datos de una tabla de 
        firebird (es una tabla q se maneiene con muy pocos registros x eso no 
        usé una consulta)<BR>A su vez hay otro programa (programa2) que carga 
        items en esa misma tabla.<BR><BR>Necesito que el gris del programa1 
        siempre esté mostrando los agregados q hace el programa2<BR>¿La única 
        forma que tengo de que ese grid vea reflejado constantemente esos 
        agregados, es poniendo un timer que haga el refresh de la tabla? o de 
        qué otra manera puede ser?<BR>tengo a la tabla, propiedad updateMode = 
        umUpdateChanged<BR><BR>Lo mismo me pasa en otro grid q está en ese 
        form...<BR><BR>Ahora he probado ejecutando los 2 programas en la misma 
        máquina y el grid no se me actualiza si no salgo del programa1 y vuelvo 
        a entrar.<BR><BR>(uso componentes zeos 7, y Lazarus 0.9.31 r30432 FPC 
        2.5.1 i386-win32-win32/win64... si, se que está desactualizado pero no 
        he podido 
  hacerlo)<BR><BR></BLOCKQUOTE></DIV></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE><BR>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>Lazarus-es mailing 
  list<BR>Lazarus-es@lists.lazarus.freepascal.org<BR>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es<BR></BLOCKQUOTE></BODY></HTML>