Hallo,
wie würdet Ihr folgendes Problem designen:
Verwendung von Standardkomponenten in Delphi.
=> DBGrid, DBNavigator,
Query.
---
Der Nutzer hat im DBNavigator die Möglichkeit,
Query.Refresh zu drücken. Dabei ist unbekannt, wie lange das
Query dauert. Nehmen wir mal an >5 Sekunden (zB Anbindung über DSL), somit kommt von Windows "diese Anwendung reagiert nicht mehr".
---
Ich möchte dabei keinerlei Logik in der Form haben, da dies ja an jeder Stelle der Software, wo es einen
DB-Navigator gibt, genauso passieren kann.
---
Grundsätzlich hätte ich jetzt überlegt beispielsweise mein
Query abzuleiten und im "BeforeRefresh" eine Thread zu starten und im "AfterRefresh" zu stoppen. In diesem sagt man der Anwendung (bzw Windows) "warten auf
query, alles iO", wodurch die Meldung von Windows "Anwendung reagiert nicht mehr" verhindert wird.
Für diesen Ansatz scheint es aber keinerlei technische Möglichkeit zur Umsetzung zu geben, ist das richtig?