Erstens: du scheinst auf die Oberfläche (Hauptthread) zuzugreifen:
Delphi-Quellcode:
CSITEDETFORM.SYNCBOX.Visible := True;
CSITEDETFORM.BTNSYNC.Enabled := false;
Zweitens: Du benutzt für UniDac keine eigene connection im Thread:
Zitat:
When using UniDAC for creating multithreaded applications, you can use approaches similar to the ones described in the "Multithreaded Delphi Database Queries with dbGo (
ADO)" article.
At this, you should take into account, that the correct solution will be to use a separate connection (the TUniConnection component) in each thread. In this case, your application will be thread-safe. You can have infinite amount of queries running through one connection in one thread, but you must not run several queries from several threads through one connection.
https://forums.devart.com/viewtopic.php?t=32233