Wenn du einen Thread benutzen willst (was wohl das Beste wäre), dann
kannst du z.B. einen Thread-Control in dein Hauptfenster
ziehen/anlegen.
Dann kannst du sehen, daß das Control einen "Run"-Event anbietet. Dort
würdest du dann deinen code reinpacken oder aufrufen, der die
SQL-Aktionen vornimmt.
Dann würdest du im hauptcode einfach Thread1.Run aufrufen, um dessen
Run-Event zu starten, und dann den modalen Dialog öffnen. Am Ende vom
Run-Event, wenn die Arbeit erledigt ist, kannst du dann den Dialog
schließen, indem du dessen Hide-Funktion aufrufst.

Alternativ geht's auch so: Zeige das Dialogfenster mit ShowModal, und
dann packe dort irgendwo den Aufruf rein (z.B. in einen 1mal-Timer),
der die SQL-Operation ausführt. Das hat aber den Nachteil, daß dann
das Programm währenddessen eingefroren aussieht, weil man z.B. weder
auf einen evtl vorhandenen Cancel-button klicken kann, noch
irgendwelche Animationen (progressbar) funktionieren.

So, denke darüber mal nach und dann versuche den ersten Ansatz.

Antwort per Email an