Hallo zusammen,
danke für Eure Tipps.
habe mir jetzt wie folgt geholfen:
1. für alle TTable im AfterPost ein FlushBuffers eingebaut und zusätzlich im jeweils anderen Client probiert, ob Schließen und Öffnen der TTAbles diese aktualisiert. Das hat aber nicht gereicht, der jeweils andere Client hat die Änderungen immer erst nach Benden und neu Starten der Applikation mitbekommen. Also habe ich...
2. Eine TDatabase-Komponente ins Datenmodul aufgenommen.
3. Im Datenmodul eine Procedure RefreshDatabase(Table:TTable) erzeugt. Diese setzt TDataBase.Connected auf false und sofort wieder true und öffnet dann alle TTables (es sind nur 5) neu. Vorher merkt sie sich mit GetBookmark zur übergebeben TTable den aktuellen Record und ruft am Ende den mit getBookmark gemerkten Datensatz wieder auf.
4. in jeder Form habe ich jetzt einen "Aktualisieren"-Schalter der Refreshdatabase aufruft und zusätzlich wird in OnActivate diese Refresh-Routine aufgerufen.
Das ist sicherlich nicht unbedingt die sauberste Art und Weise
, aber es funktioniert.
Nach dieser Aktion bin ich erst recht überzeugt, dass ich gleich von Anfang an lieber eine richtige Datenbank und TQuerys mit
SQL hätte verwenden sollen, dann wäre das jetzt viel einfacher gewesen. Aber es soll ja immer erst mal nur "ein ganz kleines reines Desktop-Projekt" sein - und dann kommen plötzlich die hunderttausend Zusatzanforderungen
....
na ja: Es läuft jetzt erst mal und die Umstellung ist ja schon in Arbeit.
Also vielen Dank und vielleicht hilft mein Lösungsweg ja dem Einen der Anderen der diesen Thread später liest.
... und wenn Jemand einen Vorschlag hat, wie ich das oben geschilderte Rumgewurschtel noch vereinfachen kann - immer her damit
Gruß,
Siggi