Hola de nuevo....
Ayer me embargaba la alegria por haber resuelto el problema de la actualización, pero me precipité a la hora de hacer el post....kinobi tiene razon, no hace falta hacer el refresh, de hecho tal y como lo puse en el anterior post llegaba a dar un error como el que sigue
"grid index out of range"
he leido en otros foros y comentan que eso es cuando vas a recorrer el dataset fila por fila suele ocurrir ese error y que la solucion es utilizar dataset1.disablecontrols dataset1.enablecontrols....pero es que esto no es un recorrido como tal...no se como delphi implementa el last...pero desde luego el error era fijo y lo podia reproducir siempre que quisiera cuando le daba a refresh (que en el metodo afterRefresh tenia escrito lo siguiente:
ibdataset1.close;
ibdataset1.open;
ibdataset1.last;
)
pues eso...al ejecutar eso me daba ese error (es el error que pretendia haber resuelto precisamente con el refresh y que está comentado en el post anterior (donde comento que "me daba un fallo pero no se si solo será a mi....siempre dije que era alguien muy especial") pues aquel fallo que comenté por encima era el mismo que ahora me salia "grid index out of range"...
aparentemente he solucionado el bug y de momento(solo de momento) no ha vuelto a fallar....los cambios que realicé
en lugar de afterRefresh he puesto lo siguiente en beforeRefresh
ibdataset1.close;
ibdataset1.open;
estas mismas dos lineas tb estan en el beforeinsert....
lo he puesto en estos dos metodos pq quiero ofrecer al usuario la posibilidad de ver su info actualizada tanto cuando inserte registro nuevo como cuando le de a refrescar (por si se le ocurriera hacerlo
)
supongo que deberia controlar de alguna forma que un usuario que no ve la info actualizada no pudiera borrar, por ejemplo un registro que previamente otro usuario ya ha borrado....en fin...quien lea esto creo que tendrá la capacidad de saber de qué estoy hablando....
Un saludo a todo el mundo