@Dejan Vu & @Sir Rufo
Ich macht Euch viel zu viele Gedanken. Das Funktioniert doch schon alles...
OnBeforeOpen
- Get New & Lock
OnAfterClose
- Post New & Unlock
Leider habe ich auf ein eindeutiges ID (Autoinc) bei Design gesetzt... War ein Fehler! Aber darum geht es ja gar nicht.
Nur als kleinen Hintergrund:
Das Ganze ist aus der ENZ-BTreeIsam aus DOS-Zeiten noch. (Ja ich bin alt...) Und da wurde halt eine SeekNr genommen.
Dann habe ich die Routinen für Windows 95 und Delphi 3 auf Windows umgestellt.
Mit Delphi 4 (glaube ich) habe ich eigene Datenbank Komponenten geschrieben die auf diese Datenbank aufsetzen.
Mit Delphi 7 habe ich das ganze (ohne eine Zeile am Hauptprogramm zu ändern) auf
MySQL umgestellt)! Und aus der SeekNr wurde das ID.
Mit Delphi 2007 dann den Serverübergreifenden Sync (auch wieder ohne eine Zeile am Hauptprogramm zu ändern)!
Jetzt stehen halt mal wieder Verbesserungen an und ein Wechsel zu FireDac um die Fehler der alten
MySQL Komponenten los zu werden.
Da ich FireDac entwas "unübersichtlich" finden... Meine Frage ob ich mit ner MemTable die im Hintergrund auf den Server das Update durchführt, auf dem richtigen Weg bin oder lieber etwas anderes nehmen soll.
An eine Service-Anwendung hatte ich auch schon gedacht... Läßt sich nur immer so schlecht debuggen.
Vielleicht auch lieber einfach per
TCP/
IP in eine App auf dem lokalen Server einloggen die Daten "nativ" also binär übertragen und auf dem lokalen Server erst in
SQL umwandeln. ALLE Daten liegen sowieso in Records vor. Eine
TCP/
IP Übertragung der nativen Daten, wäre warscheinlich sowieso um den Faktor 10x bis 100x schneller... Und dann kann die "Serverapp" losorgeln.
Oder und daher der Title "Thread" die Umwandlung lokal innerhalb der Software und dann auf den Server. Die Software läuft sowieso fast 24/7.
Grüsse Mavarik