I am working with FireDac under Delphi 10.1 Berlin.
For displaying data to the user i use data aware controls like TDBEdit.
I use TFDQuery and TDataSource to link them with the controls.
This works but long sql queries that take some time to exectute will freeze the GUI.
I am wondering how to stop the gui from freezing while performing those long running queries.
I was thinking about background threads.
On the wiki i read that FireDac can work with multithreads: http://docwiki.embarcadero.com/RADStudio/XE6/en/Multithreading_(FireDAC)
However in embarcadero community forums thread Jeff Overcash writes:
One thing I didn't see asked or Dmitry mention is you can not have TDataSource or LiveBindings against your background threaded queries. If you are background threading a query that displays the results you should disconnect the LB or DataSource, open and fetch all the data then re establish the connection.
Those two will be trying to move the cursor on you or querying the buffer for display while the buffer is very volatile being moved around in a different thread.
I am wondering if someone that also uses FireDac and displays the values on a form can help me out here.