Danke für den Hinweis, dass DataSource nicht in den Thread muss. Das war entscheidend für die Lösung des Problems bei dem Resizen des Fensters.
Jetzt ist im Thread nur noch die ZQuery (die ist "Non Gui") und bevor ich in die Execute Methode gehe (im Constructor) , entkopple ich die ZQuery von den der GUI abhängigen DataSource via
Code: Alles auswählen
FForm.DataSource1.DataSet := nil;
Code: Alles auswählen
FForm.ZQuery1.Last
Code: Alles auswählen
FForm.DataSource1.DataSet := FForm.ZQuery1;
Eine Sache könnte man noch besser machen. Wenn ich die Transaktions ID und die Statement ID kennen würde, könnte ich selektiver und besser nur das eine von mir zuvor erzeugte Statement "abschießen" (und nicht über State = 2, das löscht u.U. auch andere Abfragen, die vielleicht gar nicht beendet werden sollen im Multiuser- und Serverbetrieb). Das ist aber evtl. eine separate Frage im Forum wert. Danke nochmal an Dich und die anderen Forenmitglieder für Deine/Eure Unterstützung. Die Entwicklung meiner Big-Data Applikation ist damit deutlich einfacher geworden.
Gruß
Helios