--- In [email protected], "hfsnell" <[EMAIL PROTECTED]> wrote: > > @David Cornelius: Thank you for your recommendation about Zebedee. > @Mick: Thank you for your information. Can you tell me some details > about caching locally. How can I get it? > Huu Phuoc
Huu, You can use TClientDataset - it can be configured to provide data caching as does FibClientDataset. I write my own caching by creating objects and normally displaying them as Icons and lists. My programs monitor FB events to know when to refresh. Refreshing is kept very simple Every table has Date_Created and a Date_Modified columns. Events notify the program of adds, edits and deletes. For adds just find rows added since this program instance last checked and for modifieds check for changes since last modified. Modifieds only return the Keys - and then the equivalent objects call their OnUpdate routine. Deletes are more complex - in the future I plan to experiment with marking rows as deleted hiding them from the program and using a Date_Deleted field. This will need a cleanup routine much later that runs to perform the real delete. All in all I can have a vaguely satisfying system over dial up - on one machine drag and drop an icon from one parent to another - and watch it happen on another machine when the event is received. I tend to delay acting on events for up to 5 seconds - as each program starts it reads the milliseconds of clock time and computes its own delay for that instance. This delay reduces server hammer Mick

