So nach langem suchen hab ich die Lösung gefunden
Auf einer Webseite habe ich das gefunden und es funktioniert! Also mein TTimer läuft im Hauptformular. Dieser Timer wird gestartet sobald ich einen Button drücke und die Abfrage startet. In der ADOQuery Komponente ist der Funktion "AfterOpen" hinterlegt das der Timer stopt. Geht super!
Delphi-Quellcode:
type
TOpenQuery =
Class(TThread)
Public
constructor Create(Q: TADOQuery;sSQL:
String);
protected
tQry: TADOQuery;
tSQL:
String;
procedure Execute;
override;
end;
.
.
.
{ TOpenQuery }
constructor TOpenQuery.Create(Q: TADOQuery; sSQL:
String);
begin
inherited Create(False);
FreeOnTerminate:=True;
tQry:=Q;
tSQL:=sSQL;
end;
procedure TOpenQuery.Execute;
begin
inherited;
Screen.Cursor:=crAppStart;
with tQry
do
Begin
SQL.Text:=tSQL;
Open;
End;
Screen.Cursor:=crDefault;
end;